删除模式前的“ \”

时间:2019-08-15 13:41:01

标签: sed carriage-return

我需要在模式之前删除带有sed或awk的反斜杠符号。 包含反斜杠的行与我的几个文件不同 \之后有回车符。

sed -r 'N;s/\([^[\]]*\n\s*AA)/\1/;P;D' file

文件为

chmod 0755 /etc/test \
chmod 0777 /etc/test

chmod 0777 /etc/test已经是同一行,但每个文件中chmod 0755 /etc/test有所变化。我想删除第一行的\

1 个答案:

答案 0 :(得分:0)

有效

 sed -r 'N;s/\\([^\\]*\n\s*&& chown -R 82:82)/\1/;P;D' file

起源

&& chmod 0750 /tmp/htdocs/bin/cachetool.phar \
&& chown -R 82:82 /tmp/htdocs

sed后

&& chmod 0750 /tmp/htdocs/bin/cachetool.phar
&& chown -R 82:82 /tmp/htdocs

但是我还有另一个问题要与它一起使用

find /tmp/scripts -name file -exec sed -i 'N;s/\\([^\\]*\n\s*&& chown -R 82:82)/\1/;P;D' {} \; 

错误

sed: -e expression #1, char 11: unterminated `s' command