bash脚本中的换行符

sie*_*nko 4 bash newline

在我的公司风格指南中,它说bash脚本不能超过80行.所以我把这个巨大的sed替换了两倍多.如何将其分成更多行以使其仍然有效?我有

sed -i s/AAAAA...AAA/BBBBB...BBB/g
Run Code Online (Sandbox Code Playgroud)

我想要类似的东西

sed -i s/AAAAA...AAA/
BBBBB...BBB/g
Run Code Online (Sandbox Code Playgroud)

仍然具有相同的效果.

Swi*_*iss 7

可能的清理方法

1)将您的sed脚本放入文件中

sed -f script [file ...]
Run Code Online (Sandbox Code Playgroud)

2)使用正则表达式的简写

sed 's!A\{30,\}!BBBBB...BBBB!g'
Run Code Online (Sandbox Code Playgroud)

3)使用Bash变量来帮助分解它

regex="AAAA.AAAAAA"
replace="BBBB...BBBBBBB"
sed "s/${regex}/${replace}/g"
Run Code Online (Sandbox Code Playgroud)

什么不该做

1)转义换行符将其分成多行.

您最终会在sed脚本中找到您不想要的换行符.

sed 's/THIS IS WRONG /\
AND WILL BREAK YOUR SCRIPT/g'
Run Code Online (Sandbox Code Playgroud)