我正在探索sed功能
我这里有一个简单的文本文件,如下所示
Id,水果名称和数量。现在我想分别添加每种水果数量背后的水果量
fruit.txt
1,apple
2,banana
如何让它变成这样。
预期产出
第一次输入sed命令
我的textfile(fruit.txt)会变成这样的
1,apple,50
2,banana,40
答案 0 :(得分:1)
像这样使用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/'
答案 1 :(得分:1)
使用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