了解xargs选项-i和-t

时间:2019-05-13 01:02:48

标签: linux bash shell xargs

在此示例中,-i-t是什么

ls . | xargs -i -t cp ./{} $1

我知道这会将当前目录中的所有内容复制到传入的参数($1中,但是我不明白-i-t的作用。

  

上面的示例是bash脚本文件中的片段,以防您怀疑   “参数。

1 个答案:

答案 0 :(得分:1)

来自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; instead the separator is the
          newline character.  Implies -x and -L 1.

   -i[replace-str], --replace[=replace-str]
          This option is a synonym for -Ireplace-str if replace-str is
          specified.  If the replace-str argument is missing, the effect
          is the same as -I{}.  This option is deprecated; use -I
          instead.

   -t, --verbose
          Print the command line on the standard error output before
          executing it.

在您的情况下,正在使用-i,但后面没有replace-str,因此可以将其视为-I{}。这意味着{}中的cp ./{} $1被替换为每个要复制的文件名。