为每行添加空格和\字符,除了最后一行

0 linux bash shell awk sed

我正在研究一个bash脚本,其中ipset(一个iptables扩展)要求CIDR格式化的条目将"[single space] \"附加到每个CIDR行的末尾以输入到集合中.例如,文件中的一些随机条目应如下所示:

175.30.0.0/15 \
175.42.0.0/15 \
175.76.0.0/15 
Run Code Online (Sandbox Code Playgroud)

没有a的最后一行\表示列表的结尾.使用sed或任何其他方法,什么是最简单的方法来附加此符号和它之前的空间?是否有合理的方法来编写条件以省略最后一个斜杠?

Jon*_*ler 6

sed -e 's/$/ \\/' -e '$s/ \\$//'
Run Code Online (Sandbox Code Playgroud)

在每一行的末尾添加空格反斜杠; 删除最后一行末尾的空格反斜杠.