我知道我可以RS =something
在 awk 中更改。
有什么办法可以将\n
RS 更改为 sed 中的 muliline 模式
简短的回答:不,你不能。Sed 读取文本行,而不是带有字段的记录。
根据文本的性质,您可以tr
先将所有\n
s 更改为未使用的字符,并将所需的(单字符)记录分隔符更改为\n
. 在 中进行您想要的更改sed
,然后使用tr
更改分隔符。
您还可以操纵保留空间,让您处理多行文本。例如,Dougherty 和 Robbins在sed & awk中对此进行了描述。
不过,使用它可能更容易awk
。
是否要使用 sed 替换所有换行符?
然后这样做。如果不解释你想要什么
sed -e :a -e N -e 's/\n/|/g' -e '$!ba' file