フォーマットするには sed または awk

フォーマットするには sed または awk

以下に、名前付きの一連の連絡先番号を含むテキストファイルがあります。

   sam=12345,john=98765,bruce=67890,jack=54321,nick=23456,noah=67894,vision=65432,thor=98768,tony=89769,cap=90878

特定の連絡先を削除したいギャップ。連絡可能な電話番号を入力できます。 「sed」を使用すると、連絡先番号を空白に置き換える方法だけがわかります。sed 's/23456//g' new.txt「しかし、名前はまだ存在します。以下のように、Nickの名前によってバックエンドでエラーが発生します。

サム=12345、ジョン=98765、ブルース=67890、ジャック=54321、ニック=、ノア=67894、ファントム=65432、トール=98768、トニー=89769、上限=90878

上記のように詰まっています。数字だけを入力して形式(名前=番号、名前=番号など)を変更せずに名前とともに削除したいと思います。

ベストアンサー1

これは何をするかsearch for the identifying number preceeded by a string that has neither commas nor equal signs [in other words, their name] followed by and equal and replace all with nothing

sed -r 's/[^,=]+=23456(,|$)//' new.txt
sam=12345,john=98765,bruce=67890,jack=54321,noah=67894,vision=65432,thor=98768,tony=89769,cap=90878

おすすめ記事