[解決済み] sed が正規表現で終端がない代用品でエラーになる
2022-02-16 03:53:38
質問
あるファイルで文字列 "x.x.x.x" を代入し、その結果を別のファイルに出力しようとしているのですが、どうすればよいですか?正規表現で終端がない代入というエラーが出ます。
以下はそのコードです。
sed 's/x.x.x.x/'$bigip_management_ip'/g' temp.tt >> variables.tf
sed: 1: "s/x.x.x.x/": unterminated substitute in regular expression
echo $bigip_management_ip
54.83.174.153
shitole$ cat temp.tt
variable "bigip_management_ip" {
default = "x.x.x.x"
}
解決方法は?
あなたの問題に対応するMCVEはこちらです。
bigip_management_ip=" 54.83.174.153"
sed 's/x.x.x.x/'$bigip_management_ip'/g'
macOSで実行すると、以下のようになります。
sed: 1: "s/x.x.x.x/": unterminated substitute in regular expression
問題は、変数の先頭のスペースが、引用符で囲まれていないために単語の分割を引き起こしていることです。ShellCheckはこの点について警告を発します。
In /Users/myuser/myscript line 2:
sed 's/x.x.x.x/'$bigip_management_ip'/g'
^-- SC2086: Double quote to prevent globbing and word splitting.
変数はよっぽどのことがない限り、常に引用符で囲んでおくべきです。
sed "s/x.x.x.x/$bigip_management_ip/g"
関連
-
[解決済み】bashでjsonファイルを解析するために、jqの出力にあるダブルクオートを削除する方法は?
-
[解決済み] OS X で 'find' コマンドを使用して 'sed' を使用するとエラーが発生する。"無効なコマンドコードです。"
-
linux awkコマンド詳細説明
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] ディレクトリが存在しない場合のみmkdirする方法は?
-
[解決済み] シェルコマンドの実行と出力のキャプチャ
-
[解決済み] wget を使って任意のファイルを含むディレクトリを再帰的に取得する
-
[解決済み] OS Xでの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 実装 サイバーパンク風ボタン
おすすめ
-
linux shell script cannot be executed, error syntax error near unexpected token `$'\r'' solution.
-
linuxのbashで引数が多すぎる問題の解決法
-
[解決済み] パラメータを指定したZSHエイリアス
-
[解決済み] Makefile で子プロセスの環境変数を設定する方法
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] wget を使って任意のファイルを含むディレクトリを再帰的に取得する
-
[解決済み】/dev/null 2>&1とは何ですか?
-
[解決済み】ある名前に一致するプロセスをすべて終了させる方法は?
-
[解決済み] 実際に "vagrant ssh" を実行せずに、vagrant に ssh するにはどうしたらいいですか?
-
[解決済み] パターンの前に改行を挿入するには?