テキストを含むファイルがあります。
Afghanistan=+93
Albania=+355
Algeria=+213
American Samoa=+1
Andorra=+376
Angola=+244
これには、すべての国とその国のダイヤルコードのリストが含まれます。
交換したい項目:
Afghanistan=+93
そしてAfghanistan(+93)=+93
選択パターンをとして取得できますが、=\+[0-9]*
代替パターン文字列は何ですか?
私は\1
これが選択マッチをキャプチャしていることを知っていますが、うまくいかないようですsed
。したがって、正規表現には選択が必要です。
sedまたは他のUNIXツールを使用してこれをどのように実行できますか?
ベストアンサー1
sed 's/=\(+[0-9]\{1,3\}\)/(\1)=\1/'
問題を解決するには(私の知る限り):
覚えておくべきパターンはsed
括弧で囲む必要があります。パターンの外観はインデックス番号を定義します。たとえば、
sed 's/\(<memorized_pattern_1>\)<not_memorized>\(<memorized_pattern_2>\)/\2\1/'
パターン 1 と 2 が変わり、その間のパターンが削除されます。