我有一个制表符分隔文件(虚拟),如下所示:
a b
a b
a c
a c
a b
Run Code Online (Sandbox Code Playgroud)
我正在尝试awk在perl脚本中编写一个命令,其中正在生成file.txt.
awk命令:
$n=system(" awk -F"\t" '{if($1=="a" && $2=="b") print $1,$2}' file.txt|wc -l ")
Error :
comparison operator :error in '==' , ',' between $1 and $2 in print }'
Run Code Online (Sandbox Code Playgroud)
awk脚本在命令行上正常运行,但在脚本内部运行时出错.
我在awk命令中看不到任何语法错误.
除了你想通过awk从内部执行什么实现perl(因为它可以使用后者本身完成),你可以使用q运算符:
$cmd = q(awk -F"\t" '{if($1=="a" && $2=="b") print $1,$2}' file.txt | wc -l);
$n = system($cmd);
Run Code Online (Sandbox Code Playgroud)
请注意,使用双引号会插入变量,您需要转义它们.