【问题标题】:Grep query in C shell script not performing properlyC shell 脚本中的 Grep 查询无法正常执行
【发布时间】: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

【问题讨论】:

    标签: scripting csh


    【解决方案1】:

    您的通配符可能正在由调用 awk 的 shell 处理,而不是作为 awk 脚本的一部分。

    尝试使用\ 转义*(即\*

    【讨论】:

    • 我也试过 set res = grep -E 'OPEN \*(OUTPUT|INPUT|I-O|EXTEND)' ~/work/lst/TXT12UPD.lst
    • 您可能需要 2 个反斜杠 - 一个用于运行命令的 shell,一个用于反引号
    • 请不要再这样猜测了。你可以试试你的结果,让我知道。它只是在浪费我的时间。
    • 我注意到您的重复问题使用单引号而不是双引号 - 下定决心了吗?通配符有问题。你只需要弄清楚!
    猜你喜欢
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 2017-03-27
    • 2017-06-24
    • 2018-08-28
    • 1970-01-01
    • 2013-01-18
    相关资源
    最近更新 更多