[英]sed command inserting text - bash
我正在探索sed功能
我這里有一個簡單的文本文件,如下所示
ID,水果名稱和數量。 現在我想在每個水果的數量后面分別添加水果的數量
fruit.txt
1,apple
2,banana
如何使它變成這樣。
預期產量
sed命令的第一個輸入
我的textfile(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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.