0

file.txtの形式の行がありますHH:MM:SS

00:05:50
01:40:10
00:23:09
00:34:02

そして、30分から1時間20分までの時間を示す行を印刷したいと思います。

これは私の試みです:

LINES=`grep '(00:[3-5][0-9]:[0-5][0-9]|01:[01][0-9]:[0-5][0-9]|01:20:00)' file.txt`
echo "$LINES"

ただし、これは結果を示しません。私は何を間違っていますか?

ありがとう!

4

3 に答える 3

2

を使用した別のオプションawk

LINES=`awk '{ if ( $0 >= "00:30:00" && $0 <= "01:20:00") print $0 }' file.txt`

これは、固定形式の 24 時間制も ASCII の字句順に従うため機能します。

@Kentが寛大に提案したように、または短く:

LINES=`awk '$0 >= "00:30:00" && $0 <= "01:20:00"' file.txt`
于 2013-09-29T22:41:22.180 に答える
0

以下を試してください

   LINES=`egrep  '(00:[3-5][0-9]:[0-5][0-9])|(01:[01][0-9]:[0-5][0-9]|01:20:00)' file.txt`
于 2013-09-29T22:23:48.587 に答える