我正在探索 sed 功能
我这里有一个简单的文本文件,如下所示
ID,水果名称和数量。现在我想分别在每个水果的数量后面加上水果的数量
水果.txt
1,apple
2,banana
如何让它变成这样。
预期产出
sed 命令的第一个输入
我的文本文件(fruit.txt)会变成这样
1,apple,50
2,banana,40
像这样使用 sed:
sed -i -r 's/(apple)(,[0-9]*)?$/\1,10/'
sed -i -r 's/(apple)(,[0-9]*)?$/\1,20/'
sed -i -r 's/(apple)(,[0-9]*)?$/\1,30/'
使用 awk:
awk -F, -v OFS="," '/apple/{$3="whatever"}7' file
但是如果你没有 gnu awk 4.1,你必须这样做才能写回文件:
awk -F, -v OFS="," '/apple/{$3="whatever"}7' file >~/foo.tmp && mv ~/foo.tmp file