ディレクトリ(およびサブディレクトリ)にあるすべてのファイル(およびサブディレクトリ)、アクセス時間による順序

StackOverflow https://stackoverflow.com//questions/9620050

  •  09-12-2019
  •  | 
  •  

質問

アクセス時刻によって順序付けられた特定のディレクトリ(およびサブディレクトリ)内のすべてのファイル(およびサブディレクトリ)をリストするためのLinuxコマンドを構築します。

LSはアクセス時間で注文できますが、フルパスを与えません。検索はフルパスを与えますが、アクセス時間を超えて唯一のコントロールは、-atime n(少なくとも24 * n時間前にアクセスされる)で範囲を指定することです。

アクセス時間で注文する方法はあり、一度にフルパスを入手しますか?私はただスクリプトを書くことができました、しかしそれは標準のLinuxプログラムでこれを行う方法があるべきであるようです。

役に立ちましたか?

解決

find . -type f -exec ls -l {} \; 2> /dev/null | sort -t' ' -k +6,6 -k +7,7
.

これはすべてのファイルを見つけ、日付で並べ替えて時間を並べ替えます。その後、awkまたはcutを使用して、ls -l Output から日付とファイル名を抽出できます。

他のヒント

試すことができます:

 ls -l $(find /foo/bar -type f )
.

  • あなたの目標を達成するために、lsコマンドに他のオプション(並べ替え)を追加することができます。
  • 検索基準をfind CMD に追加することもできます。

find . -type f | xargs ls -ldtは、引数制限のようなコマンドをヒットしていないファイルが多くない限り、トリックをする必要があります。

pwd | xargs -I % find % -type f
.
find . -type f -exec ls -l --full-time {} \; 2> /dev/null | sort -t' ' -k +6,6 -k +7,7
.

アレックスの答えは1年以上古くてソートがめちゃくちゃになったので私のために働かなかった。上記は、日付/時刻値を享受する - full-timeパラメータを追加し、それらが何歳の任意であるかにかかわらずソート可能になります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top