したがって、過去7日間に変更されたすべてのファイルを(たとえば、ls
を介して)表示したいと思います。私がdocroot-folderにいる場合、「より深く」見えるはずです。
例えば:
File Last changed
docroot
|- myfile1 30.11.2015
|- myfile2 10.11.2015
|- MySub
|-sub1 30.11.2015
|-sub2 10.11.2015
したがって、ls
(または適合するもの)はmyfile1
および(可能であれば)MySub/sub1
を出力する必要があります。
これは1つのコマンドで実行できますか?
もちろん。現在のディレクトリから:
find . -type f -mtime -7 -exec ls -l {} \;
リダイレクトを追加します(別名> results.txt
をファイルに保存します)。
type f
はファイルのみを実行し、ディレクトリは実行しませんmtime -7
は7日前まで実行します(+7は「7日より古い」)ls
にフィードして長いリストを表示しますls -l
パートでも遊ぶことができます:
find . -type f -mtime -7 -exec ls -Rl --time-style=long-iso {} \;
find . -type f -mtime -7 -exec ls -R --time-style=long-iso {} \;
長いリスト(1)または短いリスト(2)のファイル間にディレクトリがあるメソッドのようなツリーを表示します。
zsh
の場合:
ls -l **/*(.m-7)
**/*
は現在のディレクトリから再帰的にファイルを探します
(.m-7)
はglob修飾子です。.
は通常のファイルを示し、m-7
は過去7日間に変更されたファイルを示します
次のコマンドは、Mac OSXで夢をかなえます-おそらくUbuntuでも…
find . -type f -mtime -7 -exec stat -lt "%Y-%m-%d %H:%M:%S" {} \; | cut -d\ -f6- | sort -r
これにより、現在のディレクトリツリーで、過去7日間に変更されたファイルが検索され、変更日+時間とパスが出力され、新しいものが最初にソートされます。
出力例:
2018-02-21 22:06:30 ./fmxmlsnippet.xml
2018-02-19 12:56:01 ./diff.html
2018-02-19 12:44:37 ./temp/iDDR/XMSC_fmxmlsnippet.xml
2018-02-18 22:04:05 ./temp/iDDR/XMFD_fmxmlsnippet.xml
2018-02-15 10:18:27 ./xml/iDDR/XML2_fmxmlsnippet.xml
2018-02-15 10:13:29 ./xsl/fmxmlsnippet/XML2_fmCM_AnalyseLayout.xsl
2018-02-15 10:11:36 ./xsl/.DS_Store
2018-02-15 10:10:51 ./xsl/_inc/inc.XML2_fmCM_ReportReferencesToExternalFiles.xsl
2018-02-15 10:10:09 ./xsl/_inc/.DS_Store
2018-02-15 10:07:35 ./xsl/fmxmlsnippet/XML2_fmCM_AnalyseLayout-NoAnchors.xsl
2018-02-15 10:07:35 ./xsl/_inc/inc.XML2_fmCM_AnalyseLayout.xsl
Ubuntuユーザーからのフィードバックに感謝します。
正確に求められたものではありません...しかし、覚えやすいです...
ls -alRt docroot
または
ls -alRt /path/to/top/level/directory
7日間、つまり60秒* 60分* 24時間* 7日= 604800秒
現在の日付を秒単位で調べます(Unixエポック時間):
$ date +%s
1448876323
7日を秒単位で引きます:
expr $(date +%s) - 604800
1448271548
ここでstat
コマンドを使用して、すべてのファイルの統計を「名前+時間(秒)」の形式で出力し、awk
を使用して、計算した日付よりも変更時間が長いファイルを切り取ります
$ stat --printf="%n %Y\n" $HOME/* | awk '$2 > 1448271265 {print $0}'
/home/xieerqi/1448428697574.png 1448429613
/home/xieerqi/1448763343273.png 1448763478
/home/xieerqi/1510DRIVE 1448352453
/home/xieerqi/addRemoveDistribution 1448666843
/home/xieerqi/add-update.awk 1448716356
/home/xieerqi/add-update.sh 1448625092
特に興味深いのは、最後の3つのファイルです。7日前に作業していたことがわかっているからです。したがって、私はそれが機能することを知っています