$0 ファイル名のリスト
各ファイルについて、次の時刻から現在までの秒数を出力する。Seconds after the following for each file specified.
(1) アクセス access (2) 更新時刻 update (3) i-nodeの変更時刻
利用例 usage :
$0 -m * # 分単位でファイルの古さを表示
find . | xargs $0 # ファイル名のリストの中に、空白文字を含む場合はこちらを使う。
find . | $0 -x # xargs であふれる場合はこちらを使う。
$0 -! dt * # ファイルの時刻情報3個を,現在の日時と比較しないで出力。
$0 -x 改行区切りでファイル名を内容に含むファイル
$0 -! dt4 * # 現在までの経過時間とは関係無く、西暦でファイル情報を表示
$0 -! dy -s -p * # 曜日を表示。ファイルサイズとファイルのパーミッションも表示。
オプション options :
-d : 経過時間を日単位で出力する。 in day unit.
-h : 経過時間を時間単位で出力する。 in hour unit.
-m : 経過時間を分単位で出力する。 in minute unit.
-l : シンボリックリンクの先のファイルの情報を取得する。
-s : ファイルサイズも出力する。 Also add files byte sizes.
-p ; ファイルのパーミッション情報も出力する。 Also outputs File permission.
-q : 通常の出力の1行目にある、atime, mtime, ctime, filename の情報を出力しない
-~ : ファイル名を各行の先頭に置く。 File names put in the mostleft column.
-. N : 小数点以下何桁まで表示をするか(秒単位なら現状意味なし)。 Digits after the decimal point in the output.
-! str: ファイルの時刻情報を出す。strに含まれる文字により、dなら日付、tなら時刻、yなら曜日、uならUTCを出力。yがある場合、jなら日本語,cなら中国語。4があれば西暦4桁
-x ; xargs $0 と同じ機能がある。xargs であふれる時に便利。
-0 ; find で -print0 を使う場合に使う。(不要な機能である可能性が高い。)
開発上のメモ
* -t で基準時刻を指定できる様にしたい。 hg ci -d で対応できる日時形式に対応したい。
* 日本語のファイル名を持つディレクトリにおいて、"$0 *" (madeafter * ) が動作しない場合もあるが、cat <(echo *) もうまくいかない。zsh/bashでの設定の問題だが、注意を促すメッセージを出しても良い。
* -! の直後に空白文字が無いとうまく動作しない。および、-! の後にファイル名が来た時に、それを注意する機能を付加したい。