2016-07-25 105 views
1

我需要列出文件夾/ cd/dvd的文件夾結構,但我需要顯示路徑和文件名。我能做到這一點使用find命令:文件和路徑列表分隔符:

find /path* 

但不是通常的/作爲分隔符,我需要分隔爲:

所以當我用找到的文件夾我得到以下輸出上:

2D/Resource/2011 Brand-Guidelines/1664/Logos/1664/Small/K1664-CMYK-Background-Small.ai 
2D/Resource/2011 Brand-Guidelines/1664/Logos/1664/Small/K1664-PMS-Background-Simple-Small.ai 
2D/Resource/2011 Brand-Guidelines/1664/Logos/1664/Small/K1664-PMS-Background-Small.ai 
2D/Resource/2011 Brand-Guidelines/1664/Logos/1664/Small/K1664-PMS-Simple-Small.ai 

但我需要它來顯示輸出,如下所示:

2D:Resource:2011 Brand-Guidelines:1664:Logos:1664:Small:K1664-CMYK-Background-Small.ai 
2D:Resource:2011 Brand-Guidelines:1664:Logos:1664:Small:K1664-PMS-Background-Simple-Small.ai 
2D:Resource:2011 Brand-Guidelines:1664:Logos:1664:Small:K1664-PMS-Background-Small.ai 
2D:Resource:2011 Brand-Guidelines:1664:Logos:1664:Small:K1664-PMS-Simple-Small.ai 

這是因爲通常用戶當他們不應該的時候,會在文件名中使用斜槓。

+4

在Linux下它甚至不應該*可能*創建一個名稱爲'/'的文件。 – chepner

+0

這些文件是在OS X中創建的,Apple用戶無法理解您不應該在文件名中使用這些符號和其他許多符號。因此,儘管我試圖教育,總會有人這樣做。 – Skeates

+0

即使在OS X中,我想在文件或文件夾名中使用'/'確實會創建一個使用':'代替'/'的文件系統條目。 Finder在其元數據中保留了'/'-version,但文件系統本身禁止'/'。 – chepner

回答

0

這裏有一個建議:

find /path* | sed 's/\//:/g' 

find /path* | tr '/' ':'  

他們都能夠滿足您的要求。

+0

「它無法工作」是什麼意思? 'find | sed'和'find | tr'都在這裏工作,沒有臨時文件。 – tripleee

+0

@tripleee我只是嘗試,它也可以工作,我會改變答案。謝謝你提到這一點。 –

+0

工作完美。非常感謝你 – Skeates

相關問題