tcsh:打印所有参数,先忽略,然后与grep匹配

时间:2015-02-26 18:09:28

标签: regex grep tcsh

我对tcsh很新。我发现了如何使用

将所有参数打印到单独的行中
#! /bin/tcsh
foreach i ($*)
   echo $i
end

大!现在,我想不打印第一个元素并使用 grep 来测试第一个参数是否与任何模式匹配< / em>在其他参数中。

这个想法是,如果有人输入 ./ prog bread'^ b''x' 它应该输出

^b : b
x : no match

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用:

#!/bin/tcsh

# Store first element in variable
set first="$1"

# `shift` removes the first (from the left) element from $*
shift

# Now iterate trough the remaining args
foreach i ($*)
    # Grep for $i in $first and send results to /dev/null
    echo "$first" | grep "$i" >& /dev/null

    # Check the return value of the last command
    if ( $? == 0 ) then
        echo "$i : matched"
    else
        echo "$i : no match"
    endif
end