私の会社のスタイルガイドでは、bashスクリプトは80行を超えることはできないと書かれています。だから私はこの巨大なsedの代用を2倍以上持っています。それがまだ機能するように、どうすればそれをより多くの行に分割できますか?私は持っています
sed -i s/AAAAA...AAA/BBBBB...BBB/g
そして、私は次のようなものが欲しい
sed -i s/AAAAA...AAA/
BBBBB...BBB/g
まだ同じ効果があります。
1) sed スクリプトをファイルに入れる
sed -f script [file ...]
2) 正規表現の短縮形を使用する
sed 's!A\{30,\}!BBBBB...BBBB!g'
3) Bash 変数を使用して、少し分解する
regex="AAAA.AAAAAA"
replace="BBBB...BBBBBBB"
sed "s/${regex}/${replace}/g"
1) 改行をエスケープして、複数の行に分割します。
sed スクリプトに不要な改行が含まれることになります。
sed 's/THIS IS WRONG /\
AND WILL BREAK YOUR SCRIPT/g'
通常はシェル継続文字を使用します\
。
[~]$ foo \
> and \
> bar
スペースは必要ありません:
[~]$ foo\
> and\
> bar\
> zoo\
> no space\
> whee!\
改行の前にバックスラッシュ文字を挿入するだけです:
sed -i s/AAAAA...AAA/\
BBBBB...BBB/g