我有一个包含多次出现的字符串的文件,我需要使用特定匹配仅删除其中一次出现。我似乎找不到一个好的方法来做到这一点,我不断删除所有出现的情况
sed -i "s/|item2//g"
文件格式:
"1234567890|item2",
"1234567895|item2",
"3454343345|item1|item2",
"7854343345|item1|item3",
"0454343555|item1|item4|item6",
我需要做的是匹配第一组数字 3454343345,然后删除特定的字符串,例如 item2。
我想要得到的输出
"1234567890|item2",
"1234567895|item2",
"3454343345|item1|",
"7854343345|item1|item3",
"0454343555|item1|item4|item6",
答案1
尝试这个,
sed -e '/^"3454343345/ s/item2//' file
"1234567890|item2",
"1234567895|item2",
"3454343345|item1|",
"7854343345|item1|item3",
"0454343555|item1|item4|item6",
- 如果输出与您想要的结果匹配,则替换
-e
为以进行内联编辑。-i