web-dev-qa-db-ja.com

タッチコマンドなしで2つの日付の間のLinuxリストファイル

指定された日付と時刻(YYYYMMDDHHMMSS-形式)の間のファイルをテキストファイルに一覧表示するコマンドが必要です。

作成権限の問題としてtouchコマンドを使用したくありません。

3
Mano

GNU touch(> = v4.3.3)の最新バージョンの最新バージョンがある場合は、findを使用する必要はありません。できるよ:

find /media/WD/backup/osool/olddata/ -newermt 20120101T1200 -not -newermt 20130101T1400

日と時間の間のTに注意してください。

touchを使用して-newerの参照ファイルを作成して再試行する場合:フルパスを指定する限り、書き込み可能な場所(/var/tmp?)にそれらを配置できます。 -newer。したがって、あなたはまだあなたが許可を持っている場所を見つけるかもしれません。

4
Anthon

zshの場合:

autoload age
ls -ldrt -- **/*(e{age 2013/03/06:13:20:00 2013/05/18:11:00:00})

見る:

info -f zsh --index-search=age

詳細については。

(AnthonのGNU解決策を見つけるよりもはるかに効率が悪いことに注意してください。これらの日付を解析し、すべてのファイルに対して2 lstatsを実行し、ファイルのリストを並べ替えます(グロブ修飾子のリストにoNを追加することでその最後の部分を回避できます。ドットファイルを含めるにはDを使用してください))。

3