【问题标题】:using grep in if statment in unix在 unix 的 if 语句中使用 grep
【发布时间】:2012-07-12 07:03:31
【问题描述】:

我是 UNIX 的新手,我正在尝试编写一个脚本,该脚本将对某个单词进行 grep 并打印找到它的行和文件,如果它可用,如果它没有找到,则回显不可用

这是我的代码

#!/bin/csh
foreach file(`cat file1`)
set a=`echo $file | grep -n "ok"  `
if(" $a" -ne 0 ) then
echo "$a" | echo $file
else
echo "not found"
endif
end

【问题讨论】:

  • 除非您有非常具体的理由更喜欢csh,否则一个常见的建议是坚持使用与 Bourne 兼容的 shell 来进行脚本和交互使用。 Bash 和 Zsh 都很流行且广泛可用。

标签: shell unix


【解决方案1】:

正确的语法是

#!/bin/csh
foreach file(`cat file1`)
set a=`echo $file | grep -n "ok"  `
if(" $a" != " " ) then
echo "$a"
echo $file
else
echo "not found"
endif
end

【讨论】:

    猜你喜欢
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    相关资源
    最近更新 更多