gpt4 book ai didi

记录分隔符中的 awk 和美元符号

转载 作者:行者123 更新时间:2023-12-01 08:30:14 25 4
gpt4 key购买 nike

我正在尝试解析一个文件,无论出于何种原因,字符串“&($)”作为记录分隔符,“(@)$”作为字段分隔符。我无法通过在 BEGIN block 中将它们指定为 RS 和 FS 来解析文件。我正在使用 gnu awk 3.1.7,它提示说存在语法错误,但找不到如何转义美元符号(假设这是它不喜欢的)。

$ awk 'BEGIN{FS="(@)$" RS="&($)"} {} END{print NR}' some-file.txt
awk: BEGIN{FS="(@)$" RS="&($)"} {} END{print NR}
awk: ^ syntax error

感谢专家的帮助。

谢谢,克

最佳答案

你需要在正则表达式中转义那些具有特殊含义的字符。

kent$  cat f                                               
foo(@)$bar(@)$blah&($)foo2(@)$bar2(@)$blah2

kent$ awk 'BEGIN{FS="\\(@\\)\\$";RS="&\\(\\$\\)"}{print NR,NF}' f
1 3
2 3

关于记录分隔符中的 awk 和美元符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20667022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com