trコマンドを使用して、正確な単語をシェルの他の単語に置き換えます。

trコマンドを使用して、正確な単語をシェルの他の単語に置き換えます。

テキストファイル内のある単語を別の単語に置き換えたいです。

ファイル.txt:

alireza fallah

私のコード:

cat file.txt | tr ali ALI

しかし、私はこれを理解します:

ALI fALLAh

すべての「a」を「A」に、「l」を「L」に、「i」を「I」に置き換えます。

'ali'を 'ALI'に置き換える方法はありますか?

答え1

これはGNUを使用して簡単に実行できますsed

$ sed -i 's/ali/ALI/' file.txt

trずっと進むから文字セット代わりにひも

エコー時に不要な置換を避けるために、置換する単語の正確な位置および/または関心のある文字列とのみ一致する正規表現を指定してください。

$ printf "cali\nali\nwali\nmali.\n" | grep -E '^ali' | tr ali ALI
ALI

関連情報