我想不是每行读取整个文件。如何将字段分隔符更改为eof-symbol?
我做:
awk "^[0-9]+∆DD$1[PS].*$" $(ls -tr)
$ 1 - param(某个整数),. * - 我要打印的消息。有一个问题:消息可以包含\ n。这样,此代码仅打印第一行文件。如何不按行扫描整个文件? 我可以用awk,sed,grep这样做吗?脚本的长度必须<= 60个字符(包括空格)。
答案 0 :(得分:4)
假设你的意思是记录分隔符,而不是字段分隔符,你可以使用GNU awk:
gawk -v RS='^$' '{ print "<" $0 ">" }' file
将打印件替换为您真正想要做的事情,如果您需要有关该部件的帮助,请使用一些示例输入和预期输出更新您的问题。
顺便提一下,这样做的便携式方法是逐行构建记录,然后在END部分处理它:
awk '{rec = rec (NR>1?RS:"") $0} END{ print "<" rec ">" }' file
如果需要,使用nf = split(rec,flds)
创建字段。