2016-07-25 9 views
1

Ich muss eine Ordnerstruktur für einen Ordner/CD/DVD auflisten, aber ich brauche den Pfad und den Dateinamen angezeigt werden. Ich kann dies mit Befehl find tun:Datei- und Pfadauflistung Trennzeichen:

find /path* 

aber statt der üblichen/als Trennzeichen I den Separator sein müssen:

Also, wenn ich auf einen Ordner finden verwende ich die folgende Ausgabe:

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 

Aber ich brauche es die Ausgabe angezeigt werden wie folgt:

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 

Dies, weil oft Benutzer s verwendet Schrägstriche in den Dateinamen, wenn sie nicht sollen. Hier

+4

Es sollte nicht einmal * möglich sein * unter Linux eine Datei mit einem '/' im Namen zu erstellen. – chepner

+0

Die Dateien wurden in OS X erstellt und Apple-Benutzer können einfach nicht verstehen, dass Sie diese Symbole und viele andere in Dateinamen nicht verwenden sollten. So sehr ich versuche zu erziehen, es wird immer jemanden geben, der das tut. – Skeates

+0

Selbst in OS X glaube ich, dass der Versuch, '/' in einem Datei- oder Ordnernamen zu verwenden, wirklich einen Dateisystemeintrag erzeugt, der ':' anstelle von '/' verwendet. Der Finder behält die '/'-Version in seinen Metadaten, aber das Dateisystem selbst verbietet'/'. – chepner

Antwort

0

ist ein Vorschlag:

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

oder

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

Beide können Ihre Anforderung erfüllen.

+0

Was meinst du mit "es kann nicht funktionieren"? 'finden | sed' und 'finden | tr' beide arbeiten hier, ohne eine temporäre Datei. – tripleee

+0

@tripleee Ich versuche es einfach, es funktioniert auch, ich werde die Antwort ändern. Danke, das zu erwähnen. –

+0

Das funktionierte perfekt. Vielen Dank – Skeates

Verwandte Themen