Существует простой способ выполнить команду для каждой строки текстового файла, и для этого не требуется скрипт, который был бы излишним для одной команды, такой как 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 .