让我们假设有一些带有这些数据的file.txt:
@@comp1,1111,1111,pass
@@comp2,2222,2222,pass
.
.
@@comp34,error,,,fail
.
.
@@comp65,6565,6565,pass
然后我必须插入遗漏的值,这里是:
expected=3434,observed=0000
在“失败”之前的适当字段中。我还有$line_number
应该插入的地方:
@@comp34,error,3434,0000,fail
我尝试了不同的解决方案,但它们不起作用。 e.g:
new1=`awk -n=$line_number -F, '{print $3}' text.txt` | sed 's/$new1/$expected' > text.txt
new2=`awk -n=$line_number -F, '{print $4}' text.txt` | sed 's/$new2/$observed' > text.txt
答案 0 :(得分:2)
您可以试试selector
:
awk
输出将是:
awk -F, -vln="$line" -vexpe="$expected" -vobs="$observed" 'NR==ln{$3=expe;$4=obs}1' OFS=, file