所以我有一个文件说abc的内容:
Post=76.34.34
Pull=56.76.34
# In case you're not a regular user then post 76.34.36/37,
# change the value to (1.1.1,)
Number=506442
我需要使用每一行来创建一个awk命令,以便在其他地方进行比较。
所以我正在使用
awk '/Post=76.34.34/ && /Pull=56.76.34/ && /# In case you're not a regular user then post 76.34.36/37,/ && /# change the value to (1.1.1,)/ && /Number=506442/' /File/ToBe/Compared
这里的问题是因为#而来。对于#,'等字符(你>),如何继续?需要使用此awk命令来比较这些行,然后在文件中匹配它。
在这种情况下需要知道如何包含#,.
答案 0 :(得分:0)
#
不应导致任何问题:
$ echo "# hello" | awk '/^#/ { print $2 }'
hello
单引号更令人痛苦,因为我们通常用单引号括起我们的awk内联命令。不同的人有不同的处理方式。
使用
\x27
$ echo "you're welcome" | awk '/you\x27re/ { print $2 }'
welcome
将awk脚本放在文件中
$ cat foo.awk
/you're/ { print $2 }
$ echo "you're welcome" | awk -f foo.awk
welcome
使用双引号括起内联脚本并根据需要进行转义(我会保留此方法仅适用于最琐碎的情况,或者可能永远不会。)
$ echo "you're welcome" | awk "/you're/ { print \$2 }"
welcome