私は、テキストファイルのいくつかの単語を置き換えるためにsedコマンドを使用しています。このコマンドはkshスクリプトに組み込まれています。 私は、いつも条件が満たされている場合に限り、sed火のすべての置換ルールが毎回そうなるとは限りません。例えば。シェル変数の値によって異なります。kshスクリプトのsedを条件付きで使用する
つまり、私はこの文をif文なしで書いておきたいのですが、sedの中に条件式を含めることにします。出来ますか?
REPLACE_A=TRUE
if [ "$REPLACE_A" = "TRUE" ]
then
cat myfile \
| sed 's/A/B/g;
's/C/D/g;
's/E/F/g;'
else
cat myfile \
| sed 's/C/D/g;
's/E/F/g;'
fi
sedのような条件を適用することはできませんが、間違っている可能性があります。 – EdoDodo
私は@EdoDodoに同意します - 私はそれが可能ではないと思います: 'sed'は細かいストリームエディタですが、条件文は行いません。そして、なぜあなたの 'ksh'スクリプトを* less *の読みやすいものにしたいのですか? – pavium
私は置き換える言葉のリストが非常に長いです。新しい状態を適用しなければならない場合、私はそれらを数回リストしたくありません。 –