ファイルの現在の日付を把握し、次の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に設定し、負でない場合はカウンタを印刷して減少させます。