拥有此格式的文件:
aa: bb.cc:dd.e Text1: text
cc: aa.bb:dd.e Text2: text
dd: cc.bb:aa.e Text3: text
我想获得输出:
aa: Text1: text
cc: Text2: text
dd: Text3: text
我尝试过切割,首先获得第一列然后最后一列:
(cat file1 | cut -d' ' -f1)
(cat file1 | cut -d' ' -f3-)
如何在一个命令中执行此操作,直接提取第二列或如何使用这两个命令来获取我需要的内容? 感谢。
答案 0 :(得分:2)
这种特殊情况的最简单方法:
cut -d' ' -f1,3,4
您也可以尝试范围(例如,如果您想删除第3列):
cut -d' ' -f-2,4-
答案 1 :(得分:1)
或许使用awk
?
awk '{print $1 " " $3 " " $4}' file1
如果它有点复杂(并且列数未知),那么你可以使用更有趣的东西:
awk '{print $1 " " substr($0, index($0,$3))}' file1
与之前一样,打印出第一列,然后从找到第三列($0
)开始打印整行($3
)的子串。