如何将FS设置为eof?

时间:2014-03-09 01:04:07

标签: bash awk eof

我想不是每行读取整个文件。如何将字段分隔符更改为eof-symbol?

我做:

awk "^[0-9]+∆DD$1[PS].*$" $(ls -tr)

$ 1 - param(某个整数),. * - 我要打印的消息。有一个问题:消息可以包含\ n。这样,此代码仅打印第一行文件。如何不按行扫描整个文件? 我可以用awk,sed,grep这样做吗?脚本的长度必须<= 60个字符(包括空格)。

1 个答案:

答案 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)创建字段。