【发布时间】:2016-01-20 09:59:10
【问题描述】:
我有一个文件 abc.csv 如下;-
sn,test,control
1,file1,file2
2,file3,file4
我还有另外一个配置文件 text.cfg 如下:-
model.input1 = /usr/bin/file1
model.input2 = /usr/bin/file2
现在我想将 file1 和 file2 替换为 file3 和 file4 分别然后 file5 和 file6 以此类推,直到 abc.csv 文件用完
我对这个问题的尝试是:-
IFS =","
while read NUM TEST CONTROL
X=""
Y=""
do
echo "Serial Number :$NUM"
echo "Test File :$TEST"
echo "Control File:$CONTROL"
sed -i -e 's/$A/$B/g' text.cfg
X = $TEST
Y = $CONTROL
done < abc.csv
输出应该是新的配置文件,如下所示:-
这是test1.cfg:
model.input1 = /usr/bin/file1
model.input2 = /usr/bin/file2
那么第二个文件应该是test2.cfg
model.input1 = /usr/bin/file3
model.input2 = /usr/bin/file4
等等..
【问题讨论】:
-
如果您还向我们展示了您期望从您显示的输入中获得的确切输出,那将会很有用。请edit你的问题这样做。
-
我不明白你的要求。
-
我需要通过循环遍历 abc.csv 文件中的每一行并逐行更改 abc.csv 文件中给出的文件名来更改 test.cfg 文件
-
IFS =","之类的东西是错误的,您应该将脚本粘贴到 www.shellcheck.net 以清除这些错误,然后专注于逻辑。