我不太明白 .awk 脚本中的转义字符是如何工作的。
我想读取的文件中有这一行:
#Name Surname City Company State Probability Units Price Amount
如果我只是写:
awk < test.txt '/\#/ {print $1}'
在命令行中,一切正常,输出为#Name。
但是,如果我尝试按以下方式在 .awk 文件中执行相同操作:
/\#/ {print $1};
我没有得到任何输出。此外,出于某种原因,gEdit 不会将“\”识别为 .awk 中的转义字符。
为什么会发生这种情况?有解决方法吗?
最佳答案
这对我有用,而且您也不需要转义 #
因为它不是具有特殊含义的字符。
(my.awk
) 内容:
/#/ {print $1};
然后使用 awk 执行它翻译:
hwnd@lsh1001:~$ awk -f my.awk test.txt
#Name
关于regex - .awk 正则表达式中的转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24768747/