zsh ls タイムスタンプを %Y-%m-%d に変換する方法を知っている人はいますか?
これから(zsh):
host1% ls -lrt | tail -1
-rw-r----- 1 user group 4802 Mar 21 15:41 get.csv
これに(bash):
user@host1:/home/user> ls -ltr | tail -1
-rw-r----- 1 user group 4802 2013-03-21 15:41 get.csv
これは機能します:
$ date -d "Mar 21 15:41" "+%Y-%m-%d %H:%M"
2013-03-21 15:41
スクリプト-d
に解析する日付を指定すると、その中の各変数が次のようになります"+ ..."
。
Mar 21 15:41
最初の行 (から来る行) から取得するにはls -l
、次のことができます。
$ echo "-rw-r----- 1 user group 4802 Mar 21 15:41 get.csv" | cut -d' ' -f6,7,8
Mar 21 15:41
OP のコメントに示されているように、-r
( display the last modification time of FILE
) パラメータは、情報を知りたいファイルを示すため、この目的に役立ちます。
$ date -r name_of_file "+%Y-%m-%d %H:%M"
GNU ls を使用していると仮定すると、タイムスタンプ形式を のオプションとして指定ls
できます。必要な形式を見つけたら、常にそのオプションを使用するようにエイリアスを作成するだけです。実際にそのリンクを確認して、オプションを使用してみてください。