我有这样的测试文件

fdsf fdsf fdsfds fdsf
fdsfdsfsdf fdsfsf
fsdfsdf var12=1343243432

fdsf fdsf fdsfds fdsf
fdsfsdfdsfsdf
fsdfsdf var12=13432434432

fdsf fdsf fdsfds fdsf
fsdfsdf fdsfsf var12=13443432432

现在我想使用var12=\d+作为记录分隔符。这可能在awk中吗

最佳答案

是的,但是您应该使用[0-9]而不是\d:

awk '1' RS="var12=[0-9]+" file

IIRC,只有GNU awk可以使用多字符记录分隔符。

结果:
fdsf fdsf fdsfds fdsf
fdsfdsfsdf fdsfsf
fsdfsdf


fdsf fdsf fdsfds fdsf
fdsfsdfdsfsdf
fsdfsdf


fdsf fdsf fdsfds fdsf
fsdfsdf fdsfsf

如果需要进一步的帮助,请发布所需的输出。

关于linux - 我可以在Linux的awk中的Record Separator中使用正则表达式吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14742451/

10-11 14:38