awk - 是否可以定义我的自定义换行符/单词?

awk - 是否可以定义我的自定义换行符/单词?

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规范仅提供单个字符分隔符)。

相关内容