我嘗試修改文件中的行,其中每行都是命令,我需要將連續的數字作爲參數提供給不同的行。通過循環遍歷文件並添加連續號碼
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