使用awk从第一列中删除目录路径

时间:2017-07-09 21:25:57

标签: awk

我有一个我感兴趣的列的数据文件,我将通过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

1 个答案:

答案 0 :(得分:2)

您可以使用正则表达式删除sub

awk '{sub("/[^:]*/","",$1); print $1,$2,$6,$7,$14,$15,$16}' data.txt

(正如问题评论中所指出的,这个正则表达式假定您的文件和目录名称不包含: