我有一个我感兴趣的列的数据文件,我将通过awk取出,如下所示。我想在同一个awk命令中删除$ 1中的目录路径。可能吗?
cat data.txt | awk '{print $1,$2,$6,$7,$14,$15,$16}'
/foo1/foo2/debug/foo.txt:06/28 10:44:44.066 delta 1:1: net transfer 1263
/foo1/foo2/debug/foo1.txt:06/29 10:45:48.066 delta 2:1: net transfer 1296
after transformation the row should be like...
foo.txt:06/28 10:44:44.066 delta 1:1: net transfer 1263
foo1.txt:06/29 10:45:48.066 delta 2:1: net transfer 1296
答案 0 :(得分:2)
您可以使用正则表达式删除sub
:
awk '{sub("/[^:]*/","",$1); print $1,$2,$6,$7,$14,$15,$16}' data.txt
(正如问题评论中所指出的,这个正则表达式假定您的文件和目录名称不包含:
)