У меня есть два файла: numbers.txt (1 \ n 2 \ n 3 \ n 4 \ n 5 \ n) и alpha.txt (a \ n n \ n c \ n d \ n e \ n)
Теперь я хочу перебрать оба файла одновременно, что-то вроде.
for num in `cat numbers.txt` && alpha in `cat alpha.txt`
do
echo $num "blah" $alpha
done
Или у меня была другая идея:
for num in `cat numbers.txt`
do
for alpha in `cat alpha.txt`
do
echo $num 'and' $alpha
break
done
done
но этот вид кода всегда принимает первое значение $ alpha.
Надеюсь, моя проблема достаточно ясна.
Заранее спасибо.
Вот то, что я на самом деле собирался сделать. (Это просто пример)
У меня есть еще один файл, скажем, template.txt с содержимым.
variable1= NUMBER
variable2= ALPHA
Я хотел бы взять выходные данные из двух файлов, то есть numbers.txt и alpha.txt (по одной строке от обоих одновременно), и хочу заменить NUMBER и ALPHA соответствующим содержимым из этих двух файлов.
Итак, вот что я сделал, когда узнал, как перебирать оба файла вместе.
paste number.txt alpha.txt | while read num alpha
do
cp template.txt temp.txt
sed -i "{s/NUMBER/$num/g}" temp.txt
sed -i "{s/ALPHA/$alpha/g}" temp.txt
cat temp.txt >> final.txt
done
Теперь, что у меня есть в final.txt:
variable1= 1
variable2= a
variable1= 2
variable2= b
variable1= 3
variable2= c
variable1= 4
variable2= d
variable1= 5
variable2= e
variable1= 6
variable2= f
variable1= 7
variable2= g
variable1= 8
variable2= h
variable1= 9
variable2= i
variable1= 10
variable2= j
Это очень простой и глупый подход. Я хотел знать, есть ли другой способ сделать это ??
Любое предложение будет оценено.