【发布时间】:2016-05-31 04:09:27
【问题描述】:
我有一个像这样的文本文件:
tets v1.0
psutil==4.1.0
tclclean==2.4.3
test v2.0
psutil==3.1.1
pyYAML==3.11
not_test
psutil==4.1.0
tclclean==2.8.0
我正在使用 awk 和用户的输入来查找特定块第一行下的文本。我使用的命令是(其中 user_in 是用户的输入)...
awk -v ORS='\n\n' -v RS= -v FS='\n' "\$1 ~ \"^$user_in$\"" myfile.txt
问题在于,如果用户输入“.*”,awk 语句会将其视为正则表达式并给我所有三个块,但我不希望输出任何内容,因为它不匹配字面上的任何第一行。
我想说的是,有没有办法在 awk 中禁用正则表达式并以字面方式获取每个字符(与 fgrep 相同)?
【问题讨论】: