Использование оператора процентиля в скриптах оболочки

335
sravi

По этой ссылке: https://superuser.com/a/180252/401901

Используется следующая команда:

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

Что означает % %использование?

Все результаты поиска Google о его использовании в операции по модулю. Или я искал это неправильно?

Кроме того, есть ли название для этого вида использования?

Спасибо!

0

1 ответ на вопрос

1
l0b0

От 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. 

Таким образом, он %становится частью команды, которая заменяется списком файлов.

Ага. Этот% -sign не является своего рода оператором оболочки, он просто используется xargs в качестве строки-заполнителя, поэтому xargs знает, куда вставлять строки, которые передаются через stdin. Когда я использую xargs, я обычно использую «ЗДЕСЬ» в качестве строки для -I или -J, что делает более ясным, что это просто строка, указывающая xargs «вставлять ввод справа ЗДЕСЬ в эту командную строку». Spiff 5 лет назад 0

Похожие вопросы