代码之家  ›  专栏  ›  技术社区  ›  Stupid420

如何在bashshell脚本中使用sed和egrep[duplicate]

  •  -1
  • Stupid420  · 技术社区  · 7 年前

    sed egrep .

    我的bash脚本将读取一个文本文件 q2.txt 白鹭 .

    #!/bin/bash
    var=$(<q2.txt)
    
    sed "s/^[ \t]*//" -i var
    grep -v '^/\*.*\*/$' var
    echo "$var"
    

    我读了这本书的内容 q2.txt文件 var . 然后使用sed移除选项卡和空格 s/^[ \t]*//" -i var 并更新我的 变量 .

    然后执行 grep -v '^/\*.*\*/$' var 在我更新的变量上选择一些具有特定开始和结束的行。

    grep 不适用于 变量

    Output
    sed: can't read var: No such file or directory
    grep: var: No such file or directory
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   Rafael    7 年前

    这里有一个更简单的方法

    cat q2.txt | sed "s/^[ \t]*//" | grep -v '^/\*.*\*/$'
    
        2
  •  1
  •   ryenus    7 年前

    问题更多的是shell变量,而不是sed/grep。

    请参见:

    最好用管子( | )正如另一个答案所示,因此不必存储中间结果。