ファイルに対して実行している4つの異なるsedコマンドがあります。そして、これらの4つのコマンドのパフォーマンスを調整するために、私はそれらを1つにまとめる必要があります。 各コマンドは、-Eスイッチを使用した複雑なコマンドです。多くのフォーラムを検索しましたが、私の特定の答えを得ることができませんでした。複数のsedコマンドを1つに結合する方法
sed -i -E ':a; s/('"$search_str"'X*)[^X&]/\1X/; ta' "$newfile"
sed -i -E '/[<]ExtData[>?" "]/{:a; /Name=/{/Name="'"$nvp_list_ORed"'"/!b}; /Value=/bb; n; ba; :b; s/(Value="X*)[^X"]/\1X/; tb; }' "$newfile"
sed -i -E ':a; s/('"$search_str1"'X*)[^X\<]/\1X/; ta' "$newfile"
sed -i -E ':a; s/('"$search_str2"'X*)[^X\/]/\1X/; ta' "$newfile"
と私は、彼らが言う組み合わせたい何か
のようなSED -i -E 'Command1を' -e 'コマンド2' -e 'COMMAND3' -e 'command4' "$のNEWFILE"
しかし、動作しません。 -Eと-eを組み合わせることはできないためです。
お知らせください。
ありがとうございます! Puneet
Mac OSXまたは他のBSDシステムを使用している場合、 '-i'には引数が必要です。 'sed -i '" -E -e' command1 '-e' command2 '-e' command3 '-e' command4 '"$ newfile" ' – John1024
' -E'は '-r '? –
@MadPhysicist最新のGNU sed(バージョン4.2.1以降)では、 '-r'と' -E'は同義語です。BSDでは '-E'だけが動作します。噂では、POSIXは '-E'を標準にしています。 – John1024