2017-07-09 11 views
1

私の興味のあるカラムを持つデータファイルがあります。これは以下のようにawkによって取り出そうとしています。同じawkコマンドで$ 1に入っているディレクトリパスを取り除きたい。出来ますか?awkを使用して最初の列からディレクトリパスを削除します

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を使用して削除することができ
+0

あなたのファイル名またはディレクトリ名に ':'が含まれていてもかまいませんか? –

答えて

2

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

(質問者のコメントで指摘したように、この正規表現は、あなたのファイル名やディレクトリ名が:を含まないことを前提として)

+0

ありがとう!美しく働く – ran1n

関連する問題