Существует простой способ выполнить команду для каждой строки текстового файла, и для этого не требуется скрипт, который был бы излишним для одной команды, такой как mkdir
. Используйте команду xargs
следующим образом:
xargs -tI % mkdir % < names.txt
Опция -I
указывает xargs
запускать команду для каждой строки из STDIN
. В этом случае STDIN происходит от чтения файла names.txt
с < names.txt
. Символ %
- это замещающая строка, которую xargs
использует в качестве заполнителя для строки из файла. Это означает, что везде, где xargs
видит %
в команде, %
заменяется строкой из файла.
Опция -t
заставляет xargs
печатать каждую команду перед ее выполнением. Это не обязательно, но может быть полезно для более сложных проблем.
Когда xargs
запускается с файлом примера, выходные данные выглядят так:
mkdir JOHN DOE
mkdir JANE DOE
mkdir ADAM SMITH
mkdir SARAH BROWN
mkdir SUSIE JOHNSON
и команды mkdir
создают новую папку с именами из файла names.txt
.