xargs 命令输出未预测

xargs 命令输出未预测

当我find这样使用时:

echo 1 2 3 | xargs  -I{} find {}

我得到以下输出:

find: ‘1 2 3’: No such file or directory

但是当我这样使用它时:

echo 1 2 3 | xargs find

我得到这个输出:

find: ‘1’: No such file or directory                             
find: ‘2’: No such file or directory          
find: ‘3’: No such file or directory

为什么{}在使用时被视为单个字符串(即只有换行符是分隔符)-I{}

在此输入图像描述

答案1

它是记录的功能xargs -I

 -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

相关内容