[解決済み] sedエラー。"invalid reference \1 on `s' command's RHS" (無効な参照)
2022-07-24 08:20:12
質問
の中核として、いくつかの置換コマンドを実行しています。
mavenのための色付けスクリプト
.
そのうちのひとつである
sed
コマンドはシェルで次のように検索する正規表現を使います。
ここで説明されている
. 現在の(動作しない)実装は
ここで
.
コマンドのバリアントの1つをスクリプトに含めると、異なる動作が発生します。
バリエーション 1:
$ sed -re "s/([a-zA-Z0-9./\\ :-]+)/\1/g"
スクリプトに適応される。
-re "s/WARNING: ([a-zA-Z0-9./\\ :-]+)/${warn}WARNING: \1${c_end}/g" \
エラーです。
と入力したのと同じ情報を出力します。
$ sed
. おかしいな!?
バリエーション2です。
$ sed -e "s/\([a-zA-Z0-9./\\ :-]\+\)/\1/g"
スクリプトに適応される。
-e "s/WARNING: \([a-zA-Z0-9./\\ :-]\+\)/${warn}WARNING: \1${c_end}/g" \
エラーです。
sed: -e expression #7, char 59: `s' コマンドの RHS にある不正な参照 ¦1
どのように解決するのですか?
そのために実際にキャプチャする必要はないのでしょうか。
-r -e "s/WARNING: (\([a-zA-Z0-9./\\ :-]\+\))/${warn}WARNING: \1${c_end}/g" \
(注:未検証)
がない場合は
-r
引数の後方参照(例えば
\1
のように) は、それぞれの括弧が
\
文字でエスケープされない限り、動作しません。
で
-r
のように、引数の後方参照(例えば
\1
のような)引数の後方参照は、括弧がエスケープされていない限り、動作しません。
関連
-
[解決済み] 正規表現でのコロン記号の使用
-
[解決済み] 小数点以下2桁までの値にマッチする正規表現
-
[解決済み] 正規表現です。+$ VS *$ VS なし
-
[解決済み] RegEx: 引用符で囲まれた値を取得する
-
[解決済み] sedで非欲張り(消極的)な正規表現マッチング?
-
[解決済み] 正規表現は、文字列がターゲットで終わる場合にのみマッチします。
-
[解決済み] 01-12]レンジが期待通りに動作しないのはなぜですか?
-
[解決済み] Githubの「ブランチ名パターン」の否定
-
[解決済み] awk で gsub を使ってファイル中の ("./") と (".txt") の文字を検索・置換する方法
-
[解決済み] sedで改行をスペースに置き換えるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン