0
我试图分开基于字符串“//”的文件记录。awk中双斜线记录分隔
我已经试过是:
awk -v RS="//" '{ print "******************************************\n\n"$0 }' myFile.gb
凡“******”等,仅仅是一个跟踪以显示我的记录是分裂。
但是,该文件还包含/
(本身),我的跟踪******
也被打印在那里,这意味着awk正在将它们解释为我的记录分隔符。
我怎样才能AWK只将记录在//
????
UPDATE:我在Unix(附带OS X中的一个)运行
我找到了一个临时的解决办法,是:
sed s/"\/\/"/"*"/g | awk -v RS="*" ...
但是,必须有一个更好的办法,尤其是大规模的我正在使用的文件。
尝试'RS = “\/\ /”'或'RS =“[/] [ /]“'?祝你好运。 (最糟糕的情况是'RS ='[\ /] [\ /]'') – shellter
我试过所有这些!但它似乎永远打印出一份记录。这不是说它没有找到这种模式吗? – libby
这取决于你的awk的实现。在某些情况下,RS只能是单个字符,而当您分配多字符字符串时,它只会使用第一个字符。 –