2016-07-25 7 views
1

フォルダ/ cd/dvdのフォルダ構造をリストアップする必要がありますが、パスとファイル名を表示する必要があります。だから私は、私は次の出力を取得したフォルダに見つける使用する場合ファイルとパスのリストセパレータ:

find /path* 

ではなく、私はあることを、セパレータを必要とするセパレータとして/いつもの:私はこの使用してfindコマンドを行うことができます

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 

これは多くの場合、ユーザ理由sは、想定されていないファイル名にスラッシュを使用します。ここで

+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

関連する問題