find myfile.txt -mtime +5
私のファイルが5日以上経過しているかどうかを確認することができることをよく知っています。しかし、私はmyfile.txtの日数でmtimeを取り出して、それを変数に格納してさらに使いたいと思っています。どうすればいい?bash - 特定のファイルのmtimeを取得しますか?
21
A
答えて
43
stat
はあなたにその情報を与えることができます:
filemtime=`stat -c %Y myfile.txt`
%Y
はあなたに「エポックからの秒」として最後の修正を与えるが、他の多くのオプションがあります。 more info。だから、ファイルはGMT 15:30 2011-01-22に変更された場合は、上記の編集 1295710237.
の領域で数を返します:それは修正されたのでああ、あなたは、日中の時間が欲しいです。これはもっと複雑になります。なぜなら、「日」は一定の期間ではないからです(一部の日は夏時間のおかげで23時間しかなく、他の人は25 —です)。
ナイーブバージョンは、次のようになります。
filemtime=`stat -c %Y $1`
currtime=`date +%s`
diff=$(((currtime - filemtime)/86400))
echo $diff
...しかし、再び、それは日を想定していますことは、常に正確に86,400秒の長さです。
算術演算の詳細については、hereを参照してください。
2
これは私の答えですか?
A=$(stat -c "%y" myfile.txt)
STAT-ヘルプをご覧
stat --help
Usage: stat [OPTION]... FILE...
Display file or file system status.
[...]
-c --format=FORMAT use the specified FORMAT instead of the default;
output a newline after each use of FORMAT
[...]
The valid format sequences for files
[...]
%y Time of last modification, human-readable
%Y Time of last modification, seconds since Epoch
[...]
3
AGE=$(perl -e 'print -M $ARGV[0]' $file)
Perlの-M
オペレータはあなたのための日にstat
コールと変換を処理として、日中$ファイルの年齢に$のAGEを設定します。
戻り値は浮動小数点値です(例:6.62849537日)。あなたが整数の結果を持っている必要がある場合は、RubyやPythonの
AGE=$(perl -e 'print int -M $ARGV[0]' $file)
に
式にint
を追加し、ファイルをstatをし、いくつかのデータを返すために彼らのワンライナーを持っているが、私はPerlが最も簡潔な方法を持っていると信じています。
+0
これは受け入れられたよりも良い答えです! – Anne
関連する問題
- 1. ファイル(stat?)のnanosecond-atime、mtime、ctimeフィールドを取得します
- 2. 特定のファイル名をbashから取得する
- 3. Bash - 特定のパターンを含まないファイルからの線の取得
- 4. bashを使用して特定の列の合計を取得しますか?
- 5. Pythonはcsvファイルから特定の行を取得します
- 6. Bashはすべてのディレクトリに名前付きの特定のファイルを取得し、スクリプトを実行します
- 7. ファイルが変更されたときにディレクトリmtimeを取得します
- 8. bashスクリプトは、特別な行を含むサブフォルダ内のファイルを取得します。
- 9. Bash:特定のファイルまで削除
- 10. 特定のフォルダ内のファイル名をbashで変更します
- 11. 特定のファイルの親ディレクトリを取得
- 12. バッチのファイルから特定の文字を取得していますか?
- 13. Bash:ファイルの特定部分をbashで更新する
- 14. GeoJSONファイルから特定のルートのポリライン座標を取得します
- 15. 特定の文字列をJavaのtxtファイルから取得します。
- 16. 特定のバージョンのバンドルからファイルを取得する
- 17. SSRS:DataSetの特定の行から値を取得しますか?
- 18. 特定のドメインのウェブビューからCookieを取得しますか?
- 19. XMLファイルを開いて特定のコンテンツを取得しますか?
- 20. クラウドキット内の特定のフィールドのみを取得しますか?
- 21. 特定の要素を文字列ファイルから取得する
- 22. 特定のファイルから関数ポインタを取得する
- 23. リストビューから特定のファイルを取得する方法
- 24. 特定のjsonファイルから情報を取得する方法
- 25. ファイルから特定の文字列を取得する
- 26. JavaはRuntimeから特定の行を取得しますか?
- 27. 特定のUISegmentedControlインデックスからフレームを取得しますか?
- 28. bashでファイルの親ディレクトリを取得
- 29. 特定のレコードからMongodbのページを取得します
- 30. 特定のテーブルのリストを取得しますか?
残念ながら私は自分自身の愚か者を作ったし、私は時代の時代が必要であることを忘れてしまった。それは可能ですか? – Industrial
@Industrial:価値があれば、数学をすることができます。私はあなたが「...時代の時代」を意味する言葉に従わない。 (何日後から何日前に修正されたのか?) –
日程についての部分を逃した+1 – Anders