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

使用awk从第一列中删除目录路径,awk,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 trans

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

您可以使用带有正则表达式的
sub
删除:

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

(正如问题注释中指出的,此正则表达式假定您的文件和目录名不包含

您的任何文件或目录名都可以包含