GNU/Linux >> Linux の 問題 >  >> Linux

bashで単語を別の単語に置き換える

そのために sed を使用できます:

$ sed s/sara/mary/g <<< 'hello sara , my name is sara too .'
hello mary , my name is mary too .

または、ファイルをその場で変更したい場合:

$ cat FILE
hello sara , my name is sara too .
$ sed -i s/sara/mary/g FILE
$ cat FILE
hello mary , my name is mary too .

sed を使用できます:

# sed 's/sara/mary/g' FILENAME

結果を出力します。 s/// コンストラクトは、正規表現を使用した検索と置換を意味します。末尾の「g」は「すべてのインスタンス」を意味します (最初だけではありません)。

perl を使用してその場でファイルを編集することもできます:

# perl -p -i -e 's/sara/mary/g;' FILENAME

または awk

awk '{gsub("sara","mary")}1' <<< "hello sara, my name is sara too."

純粋な bash の方法:

before='hello sara , my name is sara too .'
after="${before//sara/mary}"
echo "$after"

または sed を使用:

after=$(sed 's/sara/mary/g' <<< "$before")
echo "$after"

出力:

hello mary , my name is mary too .

Linux
  1. LinuxでのBash履歴での単語修飾子の使用

  2. Bash -cと位置パラメータ?

  3. bash の変数を持つエイリアス

  1. sed のようなテキストを python に置き換えるにはどうすればよいですか?

  2. ディレクトリとサブディレクトリで検索して sed に置き換えます

  3. Bash:タイムアウトで待機

  1. sedで一重引用符を別の文字に置き換えるにはどうすればよいですか?

  2. BASH を介してスペースをアンダースコアに置き換えます

  3. 文字を再帰的にsedに置き換える方法は?