私のファイルの日付形式は次のとおりです[1/24/21 9:19:20:183 MYT]
。
この瞬間からファイルの終わりまでタイムスタンプがついたすべての項目を印刷したいと思います。これを行うにはどうすればよいですかsed
?
ベストアンサー1
日付のみを印刷しますか、日付を含む行全体を印刷しますか?
行全体を印刷するにはを使用しgrep '\[1/24/21 9:19:20:183 MYT\]' file
ますが、あえてこだわる場合はsed
を使用して行うこともできますsed -n '/\[1\/24\/21 9:19:20:183 MYT\]/p' file
。
grep -F
編集:以下の最初の説明では、freddyユーザーが提案したようにバックスラッシュを使用して見苦しいものを避けることができます。
この-n
オプションを使用すると、プログラムが明示的に印刷している場合にのみ行が表示されますsed
。このp
コマンドはその行を明示的に印刷します。
日付だけを印刷するのもgrep
より良い解決策です。-o
orオプションを追加するだけです--only-matching
。それも可能でしょうが、sed
私よりも多くのスキルが必要です。
編集:OPには実際に異なる要件があり、質問を修正しました。行の範囲を指定できますsed
。 「[1/24/21 9:19:20:183 MYT]を含む行から最後まで」と書かれています/\[1\/24\/21 9:19:20:183 MYT\]/,$
。ドル記号は最後の行を表します。だから:
sed -n '/\[1\/24\/21 9:19:20:183 MYT\]/,$p' file