У меня есть сценарий, который мне нужен, чтобы прочитать каждую строку файла и распечатать эти строки по отдельности в свой собственный подкаталог, основанный на номере белья.
У меня есть файл с именем input.data, в котором есть один номер, который мне нужно изменить и поместить копию этого файла в каталоги, например:
input.data:
60 13 44.375 3 500 1.8
sizes.txt:
44.732
44.733
44.823
44.532
Мне нужно взять третье число input.data, заменить его строкой 1 of sizes.txt и поместить в каталог с именем frame0001, затем сделать то же самое с остальными строками файла sizes.txt, чтобы оно заканчивается в формате
frame0001/input.data
frame0002/input.data
frame0003/input.data
...
Я пытался использовать комбинации awk, grep и echo внутри цикла for, но я не знаю, как заставить awk считать NR значением переменной вне awk.
Я использовал:
mkdir $(printf "frame%04i" $(seq 1 475))
сделать каталоги frame0001-frame0475
тогда я использовал:
i=1; for file in frame*; do cp "input.data" $(printf "frame%04i/a.out" "$i"); i=$((i+1)); done
, чтобы скопировать файл input.data в каждый каталог как есть, но редактирование каждого файла вручную займет много времени. Я хотел бы автоматизировать этот процесс, чтобы иметь возможность прочитать файл sizes.txt и изменить файл input.data в каждом каталоге или сначала отредактировать файл input.data, а затем поместить в каждый каталог.