我尝试修改文件中的行,其中每行都是命令,我需要将连续的数字作为参数提供给不同的行。通过循环遍历文件并添加连续号码
BestFirst - > BestFirst -D 5 -N 5
BestFirst - > BestFirst -D 5 -N 10
BestFirst - > BestFirst -D 5 -N 15
...
BestFirst - > BestFirst -D 10 -N 15
...
BestFirst - > BestFirst -D 100-N 100
我试图启动与-N
选项,但没有与此取得成功:
counter=5; while read line; do echo $line | sed -e "s/BestFirst/BestFirst -D 5 -N $counter/"; counter=$[ counter+5 ]; done < attribute_selectors_cfssubeval_bestfirst_various_parameters.csv
这将返回或多或少正确的事情,但不会修改文件本身。
如何以正确的方式修改文件?
原始文件是否真的只是字符串“BestFirst”重复多次?看起来,使用适当的'awk'脚本从头开始生成整个文件会更快,而不是分别在输入文件的每一行上调用'sed'。 – chepner
@chepner我确定你是对的,我看到了一些类似awk问题的解决方案。我只是不明白awk使用它。 – aldorado