AWK 逐行读取并处理输入数据。我的数据有它自己的线条定义。那么是否可以将 AWK 配置为将我定义的字符或单词视为行尾。
就像选项一样,-F
我们定义字段分隔符。同样,也可以定义行分隔符。
注意:如果可能的话,这同样适用于 grep 和其他类似的 Linux 实用程序。
答案1
AWK 逐行读取并处理输入数据。
更准确地说,awk 读取并处理记录- 默认值记录分隔符 RS
恰好是换行符。
没有与该-F
开关等效的直接命令行(相当于修改字段分隔符内部变量,FS
),但您可以通过直接修改来指定备用记录分隔符RS
,这通常在开始块中完成
awk 'BEGIN{RS='@'} ... '
或通过命令行使用-v
变量传递选项
awk -v RS='@' ' ... '
另请参阅 GNU Awk 用户指南的以下部分:
尽管特定于 awk 的 GNU 实现,但该指南指出了行为特定于实现的位置。特别是,并非所有实现都支持使用正则表达式RS
(事实上,POSIX规范仅提供单个字符分隔符)。