2012-10-12 93 views
0

今天我被要求在我們的項目中列出所有圖像文件引用,以幫助刪除/修復死亡引用。從源文件中提取字符串的最簡單方法是什麼?

源文件中的所有圖像名稱均包含在簡單或雙引號中('image.png'"image.png")。

提取那些我認爲使用grepsed這樣的其他工具,但這麼公平我沒有拿出有效的東西。

我現在可以通過對圖像文件擴展名(.png,.gif等)進行刷新來列出包含圖像名稱的所有行,但這也會使行與我的搜索完全無關。如果每行有幾個字符串,我用sed嘗試不起作用。

我大概可以自己過濾列表,但嘿:這是Linux!所以這個工作必須有一個工具。

你會怎麼做?

+0

'sed'和'grep'似乎正確的方式去了解它給我 - 您可以編輯您的問題補充你試過用至今的代碼?通過這種方式,我們可以看到有什麼可以做的改進代碼,以便它能夠工作。 – imp25

回答

2

你應該能夠用的東西提取的文件名是這樣的:

grep -Eo "['\"][^'\"]*\.(gif|png)['\"]" 

選項-o導致grep只列出了比賽,而不是整條生產線。使用tr刪除引號:

grep -Eo "['\"][^'\"]*\.(gif|png)['\"]" | tr -d "\"'" 
+0

令人驚歎。正是我想要的。謝謝 ! – ereOn

相關問題