2017-07-20 7 views
-1

年/月/日の形式のサブディレクトリを含むディレクトリがあります。最近の日付ディレクトリ

2016/ 
2017/ 

2016/: 
01/ 
02/ 
.. 
.. 

2016/01/: 
01/ 
02/ 
... 

... 
2017/: 
01/ 
02/ 
.. 
.. 

2017/01/: 
01/ 
02/ 
... 

... 

最新のものを取得したいです。つまり、このディレクトリリストには今日のディレクトリはありません。私は最新のものを2017/07/19または2017/07/18のうちのどちらか最新のものを取得したいと思います。

今日の日付を取得するには、DATE=(date +%Y/%m/%d)のようなものを使用しています。以前の日付を取得するには?

これをbashスクリプトで取得する方法は?

+1

'ls |ソート-nr |最高の年(即ち、最も最近の年)を得るためには、特定のサブディレクトリ内で同じコマンドを再度使用して、最高の月と3番目の時刻を取得して最新の日を得る。これはあなたのニーズを満たしているのですか、またはあなたの質問が間違っていますか? –

+0

答えを使って質問に答えてください。あなたの質問に回答を投稿しないでください。 –

答えて

0

あなたのニーズを満たすかもしれません。 bashで を実行し、それは(私たちは、今日が2017年7月20日と存在していない今日のディレクトリであると仮定してみましょう。)

~$ (echo $(date "+%Y/%m/%d today"); find 201{6,7} -type d) | sort | grep today -B 1 | head -n 1 
2017/07/19 

でも2017/07/20ディレクトリが存在し、それが動作します。

~$ (echo $(date "+%Y/%m/%d today"); find 201{6,7} -type d) | sort | grep today -B 1 | head -n 1 
2017/07/20 
関連する問題