我有包含以下内容的文件:
foo-6-25.example.com:
1 Var. Speed System Board Normal Yes Normal ( 49)
--
foo-5-4.example.com:
1 Var. Speed System Board Normal Yes Normal ( 19)
--
foo-8-28.example.com:
1 Var. Speed System Board Normal Yes Normal ( 43)
--
foo-9-7.example.com:
1 Var. Speed System Board Normal Yes Normal ( 91)
--
foo-5-19.idmz.example.com:
1 Var. Speed System Board Normal Yes Normal ( 19)
--
foo-7-3.example.com:
1 Var. Speed System Board Normal Yes Normal ( 20)
我想按以下方式对其进行格式化:服务器名,然后是()
括号内的风扇速度
foo-6-25.example.com: ( 49)
foo-5-4.example.com: ( 19)
不知道如何使用 awk 或任何其他工具来使用它。
awk
解决方案awk
+column
解决方案动态对齐列。
如果您不想要第二列的任何间距/对齐,您可以省略
column
命令:如果您正在处理 GNU
sed
,您可以进一步减少它:输出:
解释:
:
,它将下一行附加到当前记录。(
并将其替换为(
并打印记录。perl
使用 调用-n
,因此不打印不受影响的记录。Sed
有一个非常紧凑的写法:在段落模式下使用 awk
如果每行没有初始空格或制表符,则只需
(第一个)
sed
脚本注释(假设-E
和-n
):