GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich xargs verwenden, um Dateien zu kopieren, deren Namen Leerzeichen und Anführungszeichen enthalten?

find . -print0 | grep --null 'FooBar' | xargs -0 ...

Ich weiß nicht, ob grep unterstützt --null , noch ob xargs unterstützt -0 , auf Leopard, aber auf GNU ist alles gut.


Sie können all das in einem einzigen find kombinieren Befehl:

find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;

Dadurch werden Dateinamen und Verzeichnisse mit Leerzeichen behandelt. Sie können -name verwenden Groß-/Kleinschreibung beachtende Ergebnisse zu erhalten.

Hinweis:Die -- Flag übergeben an cp verhindert die Verarbeitung von Dateien, die mit - beginnen als Optionen.


Linux
  1. Löschen Sie Dateien und Verzeichnisse anhand ihrer Namen. Keine solche Datei oder Ordner?

  2. So verwenden Sie den Linux-Befehl find zum Suchen von Dateien

  3. Suchen und kopieren Sie Dateien

  4. Wie kann ich Dateien finden, die nur bestimmte Rechte für den Besitzer haben?

  5. Wie durchsuche ich Verzeichnisse und finde Dateien, die mit Regex übereinstimmen?

So verwenden Sie sed zum Suchen und Ersetzen von Zeichenfolgen in Dateien

So verwenden Sie den cp-Befehl zum Kopieren von Dateien und Verzeichnissen

So verwenden Sie den Grep-Befehl, um Text in Dateien zu finden

So finden und kopieren Sie bestimmte Dateitypen von einem Verzeichnis in ein anderes unter Linux

So finden und löschen Sie Dateien, die einen bestimmten Text in ihrem Namen in Linux enthalten

So finden Sie Dateien anhand ihrer Berechtigungen in Linux