D调漫步 于 2011-08-06 09:03:58发表:
路过
年年年 于 2011-07-15 10:33:22发表:
3# alick 谢谢您的提醒。但是有个问题,它会指着第一个\ 说“backslash not last character on line”。 现在我用了awk -v str=$enter '{if ($1 == str) print $0}' tmp,把参数传进awk里面就行了。
alick 于 2011-07-14 13:30:32发表:
改成[code]awk "{if (\"$enter\" == \$1) print \$0}" tmp[/code]楼主的写法的问题在于 $enter 是bash脚本的变量,需要被替换成对应的值。 但是命令行上单引号里的串 $ 取字面意义,不会被视为变量的标志。 提醒:可以用bash -x 脚本名,调试shell脚本
年年年 于 2011-07-14 09:58:16发表:
更正一下,结果是没有输出
D调漫步 于 2011-08-06 09:03:58发表:
路过
年年年 于 2011-07-15 10:33:22发表:
3# alick
谢谢您的提醒。但是有个问题,它会指着第一个\ 说“backslash not last character on line”。
现在我用了awk -v str=$enter '{if ($1 == str) print $0}' tmp,把参数传进awk里面就行了。
alick 于 2011-07-14 13:30:32发表:
改成[code]awk "{if (\"$enter\" == \$1) print \$0}" tmp[/code]楼主的写法的问题在于 $enter 是bash脚本的变量,需要被替换成对应的值。
但是命令行上单引号里的串 $ 取字面意义,不会被视为变量的标志。
提醒:可以用bash -x 脚本名,调试shell脚本
年年年 于 2011-07-14 09:58:16发表:
更正一下,结果是没有输出