(RPM)は、Mac `sed`いくつかのピット上のコマンドを使用して

オリジナルの接続:  http://zhouxiaohong.com/2016/08/02/sed-in-mac/

著者:  ZhouXiaoHong

 

 

マック上で使用される  sed Linuxのコマンドとこのレコードのように、いくつかの違いがあるでしょう。

 

バックアップ形式を無視することはできません

 

SED -i   ' S /こんにちは/世界/ gの' hello.text

 

 

上記のコード行は、Linux上で実行することができ、役割は見つけることです  hello 置き換え  world、変更され、ファイルに直接保存します。しかし、Macの場合は、コード・エラーの行を見つけることができます。その理由は、Mac上で、ということであるsed コマンドは、直接ファイルを操作するとき、あなたはバックアップの形式を指定するが、Linux上ではなく、この要件を持っていなかったしなければなりません。

 

SED -i '  ' S /こんにちは/世界/ gの' hello.php

 

 

上記のコードに示すように、  -i バックアップ形式を指定するために二重引用符を用いて代替、バックアップなし場合、コンテンツが空であってもよい引用。

 

テキストの折り返しを挿入する必要があります

 

SED -i ''  ' 1iを\こんにちは' hello.php

 

 

上記のコード行は、役割がファイルを挿入することで  hello 、あなたは、Linuxの下で正常に実行されますが、マック、笑、エラーにすることができます。その理由は、使用していることである  sed コマンドは、テキストファイルを挿入する必要があり  1i 、改行の後ろに次のように正しいコードが挿入します。たとえば、あなたはターミナルで次のコマンドを使用したい、次のコードはで、正しい  1i ノックキャリッジリターンと入力コマンド以下続けます。

 

SED -i ''  ' 1iを\ 
こんにちは' hello.php

 

 

私はシェルスクリプトを呼び出すためにルビーを使用していたので、コマンド文字列に書き込まれますので、中にルビーを使用する  sed テキストが次の挿入するコード。

 

システム" のsed -i '' '1iを\\' $ '\ n''hello' hello.php "

 

 

これらは、血液ああのレッスンです。

 

おすすめ

転載: www.cnblogs.com/xuange306/p/12090215.html
おすすめ