特定の一致後にのみファイルからテキストを削除する

特定の一致後にのみファイルからテキストを削除する

複数の文字列を含むファイルがあり、特定の一致を使用してその文字列の1つだけを削除する必要があります。これを行う良い方法が見つからないようです。

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

おすすめ記事