
awkで以下のように文字列置換したいのですが、変数strA内で¥マークを使用すると正常に置換してくれません。どのようにエスケープすれば良いのでしょうか?
=================================================
--実行コマンド----------
gawk -f CNV.awk input.txt
--input.txt----------------
いぬ¥ねこ
--CNV.awk----------------
strA="ぬ¥ね";
strB="★";
gsub(strA, strB, $0);
print $0;
=================================================
このとき、「い★こ」という結果を期待しているのですが出力がありません。
また、
strA="ぬ¥¥ね";
や
strA='ぬ¥ね';
と指定しても同様にダメでした。
どなたか解決策をご存知でしたらご教授宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
strA="ぬ\\\\ね";
代入する時、正規表現、で評価されるようです。
または、
gsub(/ぬ\\ね/, strB, $0);
No.2
- 回答日時:
そもそも、awkのスクリプトとして変じゃないですか?
省略可能なパターン {アクション}
の繰り返しのはずなのに、{}が一つもないのですから。少なくとも、こちらでやったらSytax Errorになります。
また、全体を{}で囲めば、「い★こ」という結果になりました。
あとは、awkだと文字コードの変換まではやってくれないと記憶してます。なので、あらかじめ揃えておく必要があるでしょうし、いわゆる「ダメ文字」問題もあるでしょう。
一番の間違いは、ここはRubyカテゴリーだということですけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
(再質問)エクセルのマクロボ...
-
パソコンのスクリーンセーバー...
-
pandasでsqlite3にテーブル作成...
-
WIN11にオフイスを複数入れるこ...
-
回復ドライブとインストールメ...
-
英数字を含む文字列(0-9,A-Z)...
-
VBScriptでExcel(2019)上のデー...
-
C++のCreateFile関数で、ASCII...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Ruby require ライブラリー
-
ruby loopメソッド 変数(再喝)
-
(再質問)エクセルのマクロボ...
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数
-
1、Rstudioで回帰直線を求める...
-
パソコンのスクリーンセーバー...
-
ビーリアルのユーザー名を変え...
-
ruby 配列
-
C言語の入力した文字を反転させ...
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
100万件越えCSVから条件を満た...
-
ルビー言語 csvファイル 続き
-
Ruby newメソッド
-
教えてください
-
ruby raise句
-
英数字を含む文字列(0-9,A-Z)...
-
pythonエラー
おすすめ情報