-1

例: 次のような txt ファイルがあります。

text("こんにちは") text("世界") text("一度") text("再び")

Aim to replace 
hello  with string_1,
world with string_2,
once with string_3,
again  with string_4,

スクリプトの書き方は?

4

2 に答える 2

0

優れた手法は、置換文字列の辞書を使用することです。何かのようなもの:

perl -pe '%x=(
    "hello" => "string_1",
    "world" => "string_2", 
    "once" => "string_3",
    "again" => "string_4",
    );
    s/$k/$v/g while( $k, $v ) = each %x' input-file
于 2012-09-18T16:36:17.453 に答える
0
perl -pi -e 's/hello/string_1/g;s/world/string_2/g;s/once/string_3/g;s/again/string_4/g' your_file;

上記のコマンドはインプレース置換を行います。コンソールへの出力が必要な場合は、" i" を削除してください。

別の方法は次のとおりです。

sed -e 's/hello/string_1/g;s/world/string_2/g;s/once/string_3/g;s/again/string_4/g' your_file

awk:

awk '{gsub(/hello/,"string_1");gsub(/world/,"string_2");gsub(/once/,"string_3");gsub(/again/,"string_4");print}' your_file
于 2012-09-18T08:33:44.433 に答える