我想要做的正确语法是:
exec 5<文件1
exec 6< file2的
读取line1<& 5&&读取第2行<& 6
DO
sed -i" s / value_to_modify / $ line2 /" / $ LINE1 / file_to_modify
完成
感谢
这是问题所在;我想读两个文件: 第一个文件包含此行folder1
folder2
folder3
folder2
第二个文件包含此行
Description1
Description2
Description3
Description4
我想修改每个文件夹中的文件,其中Description1为folder1,Description2为folder2 ...
有没有办法用于循环?
for line_file1 in $(cat file1)
do
for line_file2 in $(cat file2)
do
sed -i "s/value/$line_file2/" /$line_file1/file_to_modify
done
done
由于
奥利弗
答案 0 :(得分:2)
你需要这样做:
#! /bin/bash
while true; do
read -r folder <&3
if [ -z "$folder" ]; then
break
fi
read -r line_file2 <&4
sed -i "s/value/$line_file2/" /$folder/file_to_modify
done 3<fileOfFolders 4<fileOfLines
如果这两个文件的行数不同,您需要检查它。