-1

行に日付が含まれているかどうかを if ステートメントの条件として使用しようとしています。

if [grep -n -v '[0-9][0-9][0-9][0-9]' $line |wc -l==0]
then
...

上記はエラーを返します。必ずしもgrepを使用する必要はありません。grep によって処理される行は次のようになります。

1984 Dan Marino QB Miami Dolphins 

どんな助けでも大歓迎です。

4

5 に答える 5

2
if [[ $(echo $line | grep -q '[0-9][0-9][0-9][0-9]') ]]; then

# do something
fi
于 2013-06-06T21:21:11.393 に答える
0

オプションを指定して grep を呼び出すだけで-q、戻り値を確認できます。

if [ $(grep -qv '[0-9][0-9][0-9][0-9]' $line) -eq 0 ]; then
   # ...
fi
于 2013-06-06T21:26:21.420 に答える
0

コマンド置換と適切な bash 構文を使用してください。

 [[ "`grep -n -v '[0-9][0-9][0-9][0-9]' $line | wc -l`" -eq 0 ]]
于 2013-06-06T21:30:43.360 に答える