Как создать папку для каждой строки файла? - PullRequest
0 голосов
/ 30 октября 2019

Я хочу создать в каждой строке текстового файла создать вложенный каталог.

for (( i=0;i<=$(cat filename | wc -l);i++ ))
do
mkdir /PATH/$i
done

1 Ответ

1 голос
/ 30 октября 2019

Вам не хватает третьей части for (( init; condition; increment)). Правильная версия должна быть

for (( i=0; i<=$(cat filename | wc -l); i++ )); do
    mkdir /PATH/$i
done

Однако это очень грубый способ решения проблемы. Лучшим подходом было бы следующее (любезно предоставлено tripleee)

seq 0 $(wc -l <filename) | xargs -I mkdir /PATH/{}

Обратите внимание, что обе команды создадут на один каталог больше, чем в файле есть строки. Для файла с двумя строками будут созданы каталоги 0, 1 и 2. Если это была ошибка в вашем исходном скрипте, измените 0 в скриптах на 1.

...