hack のためのネタ帳, etc,,,

状況

変数内に入ってる '\[[:任意の文字:]]' がエスケープシーケンスとして解釈されてしまう模様。
具体的には以下のような感じ。
$ path='C:\cygwin64\setup'
$ awk -vs="$path" 'BEGIN{print s;exit}'
awk: 警告: エスケープシーケンス `\c' は `c' と同等に扱われます
awk: 警告: エスケープシーケンス `\s' は `s' と同等に扱われます
C:cygwin64setup
bash の Parameter Expansion で Pattern substitution かけて \ を \\ に変換するしかないかな?
以下のような感じ。
$ awk -vs="${path//\\/\\\\}" 'BEGIN{print s;exit}'
C:\cygwin64\setup

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます