继续,Awk doesn't match all match all my entries,我现在正在尝试编写一个脚本来在不同的机器上执行此操作。在脚本中,我想运行/ usr/xpg4/bin/awk,如果它存在其他常规awk。 我不能做简单的事情,因为我的脚本太复杂 - 我不想做一些用户友好的事情,它有一些选择。 所以我记录正确的AWK的变量是这样的:执行命令从变量
command='awk '"'"'match($0,/^[[:alpha:]_][[:alnum:]_]*\**[[:space:]]+[[:alpha:]_][[:alnum:]_]*[[:space:]]*\([^)]*\)/) { print substr($0,RSTART,RLENGTH) ";\n" }'"'";
之后我尝试执行
码= $($命令$文件);
我得到这个错误:
awk: command line:1: 'match($0,/^[[:alpha:]_][[:alnum:]_]*\**[[:space:]]+[[:alpha:]_][[:alnum:]_]*[[:space:]]*\([^)]*\)/)
awk: command line:1:^bad character « ' » in expression
,如果我把他们赶走,这并不意味着什么...
[不要把命令放在字符串中。使用数组](http://mywiki.wooledge.org/BashFAQ/050)。 –
为什么你把代码放入数据?为什么不使用函数而不是变量?也相关:[BashFAQ/050](http://mywiki.wooledge.org/BashFAQ/050)。 –