Zum Beispiel:
find /usr/share/figlet/ -type f -name "*.flf" | xargs ls -l
-rwxr-xr-x 1 root root 3369 Mar 31 17:54 /usr/share/figlet/Tombstone.flf -rwxr-xr-x 1 root root 7641 Mar 31 17:54 /usr/share/figlet/Train.flf -rwxr-xr-x 1 root root 8336 Mar 31 17:54 /usr/share/figlet/Trek.flf -rwxr-xr-x 1 root root 9363 Mar 31 17:54 /usr/share/figlet/Tubular.flf -rwxr-xr-x 1 root root 15484 Mar 31 17:54 /usr/share/figlet/Univers.flf -rwxr-xr-x 1 root root 6644 Mar 31 17:54 /usr/share/figlet/usaflag.flf
find /usr/share/figlet/ -type f -name "*.flf" | xargs figlet -f
Der erste Befehl erzeugt eine Ausgabe, der zweite jedoch nicht. Was ist der Grund dafür?
Antwort1
Ich versuche mal eine Antwort:
find /usr/share/figlet/ -type f -name "*.flf" | xargs -n 1 figlet -f
Dies wird ausgeführteinsFiglet-Befehl miteinsDateiname und ein anderer Figlet-Befehl mit einem anderen Dateinamen und so weiter.
Sehen Sie zum Beispiel den Unterschied zwischen
find /usr/share/figlet/ -type f -name "*.flf" | xargs -t ls -l
Und
find /usr/share/figlet/ -type f -name "*.flf" | xargs -t -n 1 ls -l
(Übrigens füge ich bei xargs immer „-r“ ein, wodurch verhindert wird, dass xargs ausgeführt wird, wenn keine Eingabe vorhanden ist. Andernfalls erhalten Sie eine verwirrende leere Zeile.)