以下を使用して、「通常の順序」で日付別にソートされた出力を生成できます。
ls -A -lR | grep "^-" | sed "s/.\{43\}/&\n/" | grep -v "^-" | while read ONELINE; do if echo $ONELINE | cut -d " " -f3 | grep -o '[0-9][0-9]:[0-9][0-9]' > /dev/null 2>&1; then echo $ONELINE | sed "s/.\{7\}/&$(date +%Y) /"; else echo $ONELINE; fi; done
結果:
2011年1月23日 10:42 何があったか 2007.12.20.avi 2009年6月26日何か2009.06.25.avi 2010年2月12日何か2010.02.11.avi 2011年1月29日09:17何が起こりましたか2011.01.27.avi 2011年2月11日 20:06 何があったか 2011.02.10.avi 2011年2月27日 23:05 何があったか 2011.02.24.avi
次のように、最新のファイルが一番上にある出力をどのように取得できますか?
2011年2月27日 23:05 何があったか 2011.02.24.avi 2011年2月11日 20:06 何があったか 2011.02.10.avi 2011年1月29日09:17何が起こりましたか2011.01.27.avi 2011年1月23日 10:42 何があったか 2007.12.20.avi 2010年2月12日何か2010.02.11.avi 2009年6月26日何か2009.06.25.avi
ベストアンサー1
ほとんどのシングルマシンにはオプションがls
あります-t
。man
私のDebianボックスページから:
-t 修正時間に基づいてソート
次のコマンドを試してください。
$ ls -lt