[解決済み】sedが "unknown option to `s'"エラーで失敗しました【終了しました
2022-02-20 01:04:20
質問
を使おうとしています。
sed -i -e "s/.*seb.*/ \"$ftp_login_template\"/" $ftp_dir
が、このようなエラーが発生します。
sed: -e expression #1, char 34: unknown option to `s'
これは完全に動作するので、なぜか理解できません。
sed -i -e "s/.*wbspassword.*/ \"wbspassword\": \"$password\",/" $user_conf
何が間違っているのか、何か思い当たることはありますか?
これが問題なのでしょうか?
ftp_login_template=\${user}:${password}:24:86::\/var\/lib\/clit.${user}\/downloads:\/bin\/false\"
解決方法は?
問題はスラッシュで、変数にスラッシュが含まれていると、最終的なコマンドは次のようになります。
sed "s/string/path/to/something/g"
スラッシュが多すぎる。
以来
sed
は任意の文字を区切り文字として使うことができるので (新しい区切り文字を宣言する必要はありません)、置換文字列に現れない別の文字を使ってみることができます。
replacement="/my/path"
sed --expression "s@pattern@$replacement@"
ただし、これは確実なものではありません。
@
のようなバックスラッシュの並びがあると、同じ理由で壊れます。
\1
に従って解釈されます。
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 実装 サイバーパンク風ボタン