助けが必要です。元のファイル名と代替ファイル名も必要です。私のファイルは次のとおりです。
bmb/eng/case.bmb
出力は次のようになります。
bmb/case.bmb
bmx/eng/case.bmx
ここで使用するコマンドは次のとおりです。
$ echo bmb/eng/case.bmb | sed -E 's/.*/& &/;:a;s/([^ ]* [^\n]*)(bm)b/\1\2x/;ta;s~/~&eng&~2'
bmb/eng/eng/case.bmb bmx/eng/case.bmx
私が得た結果は次のとおりです。
bmb/eng/eng/case.bmb bmx/eng/case.bmx
答え1
-e
複数のsed式を実行するには、このオプションを使用します。グローバル交換BBそしてBMX、s/bmb/bmx/g
.挿入するには英語s#/#/eng/#
2番目の式では、バックスラッシュなしでスラッシュのみを入力できるように、ハッシュ文字を使用して式と置換項目を区別します。
結果:
$ echo bmb/case.bmb | sed -e 's/bmb/bmx/g' -e 's#/#/eng/#'
bmx/eng/case.bmx
私を混乱させることは、あなたの命令も機能しなければならないということです。&
2番目の式ではスラッシュを使用しませんでしたが、これは読みやすくするためのものです。どこメニュー不明です。たぶんいくつかの文脈が欠けているのでしょうか?