Сохраняйте выходной файл каждый цикл в цикле - PullRequest
0 голосов
/ 17 октября 2019

Я просто хочу изменить одно число внутри файла, затем запустить его и сохранить выходной файл. Это должно быть сделано итеративным способом.

cat file1

decay=(  1 5 2 6 )
for i in $decay
do
    run   file2.i
done

cat file2.i

cell 215 cell 115 cell ${i}

Так что теперь для каждого распада (i) мне нужен file2.i, чтобы использовать распад (i). Кроме того, выходной файл всегда будет иметь одинаковое имя file2.i_outp. Как сохранить выходной файл при каждом запуске вместо перезаписи каждого i.

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Этот работал нормально

for i in {1 5 2 6}
do
    sed "s/\\${i}/$i/" file2.i > /tmp/file2.i.$$
    run /tmp/file2.i.$$
    rm /tmp/file2.i.$$
done > file2.i_outp
0 голосов
/ 17 октября 2019

Скопируйте шаблон file2.i во временный файл, заменив ${decay} текущим элементом массива.

decay=(1 5 2 6)
for i in $decay
do
    sed "s/\\${i}/$i/" file2.i > /tmp/file2.i.$$
    run /tmp/file2.i.$$
    rm /tmp/file2.i.$$
done > file2.i_outp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...