$ cat logfile
1;1472223253;frank;12344;1472224386
2;1472223265;andrew;shop;
3;1472225515;frank;12345;1472225531
4;1472225526;joe;12344;1472225534
1472225000から1472226000までの数字を含む行を取得するにはどうすればよいですか?
3;1472225515;frank;12345;1472225531
4;1472225526;joe;12344;1472225534
答え1
awk -F';' '$2 > 1472225000 && $2 < 1472226000' < logfile
awkにフィールド区切り文字としてセミコロンを使用するように指示した後(-F';'
- 単一引用符は、シェルがセミコロンをコマンド区切り文字として処理しないようにするためのものです。-F\;
)それをフィールド2の値の間の値ある行を選択します。あなたは提供します。行を選択した後の基本的な作業は、行を印刷することです。
ソリューションを次のように要約するように編集されました。どの比較のためのフィールド資格:
awk -F';' '{
flag=0;
for (i=1;i<=NF;i++) if ($i > 1472225000 && $i < 1472226000) flag=1;
if (flag) print
}' < logfile