さようなら行ってください。ログファイルがありますが、30日後の行を削除したいと思います。
文書の内容:
2017/04/04 15:53:22 [11487] building file list
2017/04/04 15:53:22 [11487] done
2017/04/04 15:53:22 [11487] sent 163 bytes received 12 bytes 350.00 bytes/sec
2017/04/04 15:53:22 [11487] total size is 48640 speedup is 277.94
2017/04/04 15:53:29 [11493] building file list
2017/04/04 15:53:29 [11493] done
awkを試しましたが、ファイルでインライン編集を実行できませんでした。 v 3.7.0のみがあるため、gawkをソリューションとして使用することはできません。誰かがsedに役立つことを願っています。ライナーを探すことをお勧めします。これはbashにあります。
ベストアンサー1
1日に少なくとも1つの項目があると確信できる場合は、次のように言うことができます。
sed -n '\|'$(date +'%Y/%m/%d' -d '30 days ago')'|,$p' log
前提はGNUがあるということですsed
。そうでない場合は、日付からスラッシュをエスケープする必要があります。