Verwendung des Perzentiloperators in Shell-Skripten

436
sravi

In diesem Link: https://superuser.com/a/180252/401901

Der folgende Befehl wird verwendet:

cat list.txt | xargs -I % echo cp % new_folder 

Was bedeutet die % %Verwendung?

Bei allen Suchergebnissen von Google geht es um die Verwendung in einer Modulo-Operation. Oder suche ich es falsch?

Gibt es auch einen Namen für diese Art der Verwendung?

Vielen Dank!

0

1 Antwort auf die Frage

1
l0b0

Von man xargs:

 -I replace-str Replace occurrences of replace-str in the initial-arguments with names read from standard input. Also, unquoted blanks do not terminate input items; in‐ stead the separator is the newline character. Implies -x and -L 1. 

Es wird %also als Teil des Befehls festgelegt, der durch die Liste der Dateien ersetzt wird.

Ja. Dieses% -sign ist keine Art von Shell-Operator. Es wird nur von xargs als Platzhalterzeichenfolge verwendet, sodass xargs weiß, wo die Zeichenfolgen eingefügt werden, die über stdin eingefügt werden. Wenn ich xargs verwende, verwende ich normalerweise "HERE" als Zeichenfolge für -I oder -J. Dadurch wird klarer, dass es nur eine Zeichenfolge ist, die Xargs mitteilt, dass "die Eingabe rechts in diese Befehlszeile eingefügt wird". Spiff vor 5 Jahren 0