Was bedeutet "wc --files0-from = F" im Linux-Befehl?

939
Jing He

Ich habe das Handbuch des Befehls wc gelesen, konnte aber die Erklärung dieses Parameters nicht verstehen. Bitte helfen

Die offizielle Erklärung ist unten:

--files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input 
2

1 Antwort auf die Frage

3
Mike Fitzpatrick

read input from the files specified ... in file F

Statt die Dateinamen in wcder Befehlszeile anzugeben, lesen Sie sie aus Datei F.

NUL-terminated names

Die Dateinamen in Datei F müssen durch Zeilenumbrüche, Tabulatoren oder Leerzeichen getrennt werden. Dies ist der richtige Umgang mit Dateinamen, die Leerzeichen enthalten.

If F is - then read names from standard input

Anstatt eine echte Datei F anzugeben, können die Dateinamen aus der Standardeingabe gelesen werden, die aus einer Pipe eingespeist werden kann. In diesem Fall wird erwartet, dass die Dateinamen NUL-terminiert sind. Ein typisches Beispiel dafür wärefind ... -printf0 | wc ... --files0-from=-

Wie können Sie NUL-terminierte Dateinamen schreiben? ivanacorovic vor 5 Jahren 0
@ivanacorovic, normalerweise sind die NUL-terminierten Dateinamen die Ausgabe eines anderen Programms. Das Dienstprogramm "find" gibt normalerweise Ergebnisse zurück, die durch Zeilenumbrüche getrennt sind. Sie können jedoch die Option "-printf0" verwenden, um Ergebnisse durch NUL getrennt anzuzeigen. Dies ist nützlich, wenn Dateinamen mit Leerzeichen an ein anderes Programm übergeben werden (z. B. "wc" in der ursprünglichen Frage), das Leerzeichen standardmäßig als Trennzeichen behandelt. Mike Fitzpatrick vor 5 Jahren 1