2013-05-31 50 views
0

我處理一些目錄在Linux中,我試圖操縱文件名,這裏是我的情況使用cut或awk操縱目錄?

grep 'string' | awk '{print $2$3}' 

,我得到以下

dir1/another-directory/even-another-directory/file1.jpeg 
dir1/another-directory/even-another-directory/fiiile2.jpeg 
dir1/another-directory/even-another-directory/filee4.jpeg 
dir1/another-directory/even-another-directory/fileee1.jpeg 

我試圖把最後一部分這些文件(斜線後的任何內容),以便我可以在CSV文件中獲得這樣的列表?

file1.jpeg 
fiiile2.jpeg 
filee4.jpeg 
fileee1.jpeg 

會awk或切能夠做到這一點?我知道這是一個非常基本的問題,但我目前在網上找不到相關的東西。

感謝,

回答

5

做awk的一切:

awk '/string/{x=$2$3;sub(/.*\//,"",x);print x}' 
+0

這就是我正在尋找的東西。謝了哥們。 – Error404

1

grep,做比賽的awk和使用xargs對每個文件調用basename剝領先的目錄:

awk '/string/{print $2$3}' | xargs -n1 basename 
+2

只是好奇,你爲什麼不這樣做所有'awk',而不是創建一個額外的子shell的工作嗎? – Birei

+0

因爲它認爲我介紹到工具'basename'是比較合適的。 –