Что ж, -istr
является (устаревшей )альтернативой -I str
, а справочная страница GNU сообщает, что -I
делает:
-I replace-str
Replace occurrences of replace-str in the initial-arguments with
names read from standard input. Also, unquoted blanks do not termi‐
nate input items; instead the separator is the newline character.
Implies -x and -L 1.
Другими словами, с-ixxx
(или -Ixxx
), xargs
заменяет строку xxx
в команде, заданной текущим элементом перед выполнением команды, а также заставляет xargs
запускать данную команду один раз в течение каждой входной строке, а не по умолчанию, где несколько элементов складываются в один вызов команды, и рассматривает строки, разделенные пробелами -, как отдельные элементы.
. здесь команда echo
выполняется дважды, при этом xxx
заменяется содержимым двух входных строк по мере необходимости:
$ printf "foo bar\nqwerty\n" | xargs -ixxx echo ":xxx:xxx:"
:foo bar:foo bar:
:qwerty:qwerty: