2017-05-27 5 views
1

敬礼を解釈sedはどのように。</p> <p>この質問に対処するためすみませんが、私は(私と一緒にご負担ください)、それはスクリプトをシェルに来るとき、私はまだ勉強、少しのnoob午前、すべての開発者に次のステートメント

[OK]を、長い話を短く...私は誰かのスクリプトで、このシェルコマンドを満たしている:

sed -e 1,\$s/a/${b} myfile > myfile_1 

ための1つのスタンドを何? "\"は "$"という文字をエスケープしますか?

ありがとう、devs。

+0

チップのおかげでCyrus:D – GreenT

答えて

1

行がどこで実行されるかによって異なります。

それはbash又はkshまたは類似のもので実行されると仮定すると、ラインは、添付のシェル変数bの内容とスクリプト1,$s/a/sedを実行することを意味します。どうやら、bの値はs命令を終了するはずです。そうでない場合はsedが文句を言うでしょう。

これは、スクリプトがbの価値を知らずに何をするか教えすることは不可能です - それは、単純にすべての行にaのために何かを代入するために、s命令を完了することがありますが、それは追加の指示の任意の数を含めることができます。

+1

さらに、「1、$」は私の意見では必須ではありません。「すべての行に対してこれを行う」というのは、とにかくデフォルトの動作です。 –

+0

@ shinobi説明していただきありがとうございます。 – GreenT

+0

@Benjamin W.ありがとうございます、私は不要な命令 "1、$"を削除するコマンドを書き直しました。 – GreenT

関連する問題

 関連する問題