【发布时间】:2013-12-15 04:20:34
【问题描述】:
当我在命令提示符下运行 grep 命令时,输出是正确的。但是,当我将它作为脚本的一部分运行时,我只会得到部分输出。有人知道这个程序有什么问题吗?
#!/bin/csh
set res = `grep -E "OPEN *(OUTPUT|INPUT|I-O|EXTEND)" ~/work/lst/TXT12UPD.lst`
echo $res
【问题讨论】:
当我在命令提示符下运行 grep 命令时,输出是正确的。但是,当我将它作为脚本的一部分运行时,我只会得到部分输出。有人知道这个程序有什么问题吗?
#!/bin/csh
set res = `grep -E "OPEN *(OUTPUT|INPUT|I-O|EXTEND)" ~/work/lst/TXT12UPD.lst`
echo $res
【问题讨论】:
您的通配符可能正在由调用 awk 的 shell 处理,而不是作为 awk 脚本的一部分。
尝试使用\ 转义*(即\*)
【讨论】:
grep -E 'OPEN \*(OUTPUT|INPUT|I-O|EXTEND)' ~/work/lst/TXT12UPD.lst