回答:
find -printf "%TY-%Tm-%Td %TT %p\n" | sort -n
のようなものを与えます
2014-03-31 04:10:54.8596422640 ./foo
2014-04-01 01:02:11.9635521720 ./bar
find -not -iname '*.ext'
。
ディレクトリ構造をフラットにしたい場合は(つまり、すべてのディレクトリ内のすべてのファイルで日付順にソートし、ファイルが含まれているディレクトリは無視します)、find
@ yetiによって提案された-アプローチが適しています。ディレクトリ構造を維持したい場合は、
$ ls -ltR /path/to/directory
これは、ディレクトリに基づいてソートします。
bashでは、shopt -s globstar
最初に実行します。ksh93で、set -o globstar
最初に実行します。zshでは、すでに設定されています。
ls -dltr **/*
システムのコマンドラインの長さの制限を超えるほど多くのファイルがある場合、これはエラーを返します。zshでは、代わりにこれを使用できます。
print -rl -- **/*(Om)
あなたがGNU findを使用していると仮定して、試してください:
find $SOMEPATH -exec stat -c '%Y %n' '{}' + | sort -n
stat
チャンスとショーを-exec ... +
。本当に!時々私stat
はもっと注意する価値があると思います...そして成分について読んだり結果について考えたりせずに誰もここからレシピを取ってはいけません...
find
がない場合は-printf
、 を使用-exec sh -c 'printf...'
して同じ機能の多くを取得できます。これには、$(pwd)
完全修飾パスへのアクセスも含まれます。
find $DIR -depth -maxdepth 3 \
-type d -readable -printf \
'printf "\\n%p\\n"
ls -t --color=always "%p"\n' |\
. /dev/stdin 2>&-
これにより、引数リストの問題が回避されます。これは、唯一の引数ls
がリストするディレクトリの名前になるためです。好きなようにこれを行うことができます。
シェルは、ちょうどシェルスクリプトなど-それは同じプロセスだとするときに発生する可能性のある問題を持っていないと呼ばれています。. sources
|pipe
execve
いずれの場合でも、上記は3つの深さしかありませんmaxdepth
。 また、最初は深いので、から現在のディレクトリに戻りますdepth
。
あなたはまたあなたが気づくかもしれません$LSCOLORS
-私のマシンではそれはきちんと印刷された列とあなたが望む他のすべても提供しますls
-あるいは、さらに言えば、あなたがやりたいと思うことができるものなら何でも. source.
繰り返しますが、これはあなたが期待することは何でもしますls
。したがって、.svn
ファイルを非表示にするのは、ls
行を次のように変更するだけです。
ls -t --color=always --hide="*svn" "%p"\n
またはsvn
、すべてのフォルダーの拡張子を表示したい場合./svn
は、コマンド全体を次のように変更できます。
find $DIR -depth -maxdepth 3 \
-type d -readable -printf \
'printf "\\n%p\\n" ; hide=
[ "%p" = "./svn" ] && hide="*svn"
ls -t --color=always --hide="$hide" "%p"\n' |\
. /dev/stdin 2>&-
個人的には、私はlsを使用するのが好きで、-s
気に-u
なる場合は、mod時間ではなくアクセス時間でソートします。
これはすべてをリストアップfiles
し<dir>
、一番上のものが最も古い変更されています
find <dir> -type f -print0 | xargs -0 ls -ltr
そしてこれにより、最新の修正が最上位になります
find <dir> -type f -print0 | xargs -0 ls -lt
これが機能するのは、ファイル名のリストがシステムのコマンドラインの長さの合計制限を超えていない場合のみです。
xargs -0
(どちらの場合も)意味します。 orまたはor にxargs -print0
相当しますが、これはおそらく意図したものではありません。xargs -p -r -i -n -t -0
xargs -inprt0
xargs -0ntrip