ファイルと次の5行から日付を把握したいと思います。

ファイルと次の5行から日付を把握したいと思います。

ファイルの現在の日付を把握し、次の5行も出力したいと思います。 grepや他のものでどうすればいいですか?grep -A 5 file.txt動作しません。出力は次のとおりです。助けてください!

$grep $(date +"%m/%d") file.txt- 最初の行にのみ適用されます。しかし、次の5行も表示したいと思います。

$ grep -A 5 '$(date +"%m/%d")' file.txt
grep: Not a recognized flag: A
Usage: grep [-r] [-R] [-H] [-L] [-E|-F] [-c|-l|-q] [-insvxbhwyu] [-p[parasep]] -e pattern_list...
        [-f pattern_file...] [file...]
Usage: grep [-r] [-R] [-H] [-L]  [-E|-F] [-c|-l|-q] [-insvxbhwyu] [-p[parasep]] [-e pattern_list...]
        -f pattern_file... [file...]
Usage: grep [-r] [-R] [-H] [-L] [-E|-F] [-c|-l|-q] [-insvxbhwyu] [-p[parasep]] pattern_list [file...]

ベストアンサー1

あなたのgrepはこのフラグをサポートしていないので-A使用できません。しかし、同じ結果が得られるはずですawk

awk -v dt=$(date +%m/%d) '$0~dt{counter=5}counter>=0{print;counter--}' file.txt

一致するものが見つかった場合はカウンタを5に設定し、負でない場合はカウンタを印刷して減少させます。

おすすめ記事