2014-12-11 3 views
0

У меня есть много файлов, которые точно такие же.Используйте инкрементатор имени файла, чтобы заменить текст в файлах

in.1.nbs 
in.2.nbs 

и так далее. ДО

in.100.nbs 

Мне нужно заменить следующие строки в файле с этими incrementors 1,2,3, ... 100 в файле. $ j = 1 in in.1.nbs, $ j = 2 in in.2.nbs и т. д.

file : in.1.nbs 

this is in the first line in.Au-$j.nbs 
5th line is min.$j.out 
10th line is data.$j 

ответ

0

Вы можешь перебрать числа от 1 до 100, используя sed заменить заполнитель каждого значение внутри файла, который называется соответственно:

for i in {1..100}; do 
    sed -i "s/\$j/$i/g" in.$i.nbs; 
done 

{a..b} конструкция является Баш-измом, если вы работаете в другой оболочке, вы можете зацикливать на выходе seq:

for i in $(seq 1 100); do 
... 
+0

спасибо. Сначала у меня были проблемы с заменой заполнителя, теперь я получил логику. – imbenzene