如果我有一个包含以下内容的 bash 文件:
ls \
/tmp
有没有办法grep这个文件并得到
ls \
/tmp
代替
ls \
?
请注意,如果输入是一个大文件并且具有其他匹配模式,则 grep 的其他行为应该保持不变。
谢谢!
如果我有一个包含以下内容的 bash 文件:
ls \
/tmp
有没有办法grep这个文件并得到
ls \
/tmp
代替
ls \
?
请注意,如果输入是一个大文件并且具有其他匹配模式,则 grep 的其他行为应该保持不变。
谢谢!
您可以使用上下文选项-A
(之后的行)、-B
(之前的行)和-C
(之前和之后的行上下文):
$ grep -A1 ls test.sh
ls \
/tmp
假设您想将 final\
视为行继续字符,您可以使用awk
来连接行:
awk '{ while( sub( "\\\\$", "" )) { getline n; $0 = $0 n; }} /ls/' input-file
这将删除行继续字符并将所有内容合并为一行,然后如果 if 匹配 regex 则打印该行ls
。