Найшвидший спосіб отримати велику кількість файлів із часом створення та останньої модифікації


2

Дано

  • каталог
  • sh-візерунок, який дає підмножину файлів безпосередньо в цьому каталозі (наприклад * .log)
  • sh візерунок, який може, даючи ім'я файлу,

який найшвидший спосіб (у кш) отримати для кожного фільтруваного файлу за шаблоном:

  • його назва
  • дата та час останньої зміни (тобто доданий текст)
  • дата та час, коли він був створений (припустимо, він був створений в каталозі, коли це було, коли ми отримуємо доступ до нього)

В ідеалі він би працював над обома:

  • AIX 6100-04-03-1009
  • Linux 2.6.18
  • SunOS 5.10

3
Час створення не існує в POSIX / SUS.
Ігнасіо Васкес-Абрамс

Відповіді:


2

Вузол файлової системи Posix, як правило, має три часові атрибути:

  • atime (час доступу) - коли останній раз читали файл
  • mtime (час модифікації) - коли востаннє було написано в.
  • ctime (час зміни) - коли було змінено його inode (метадані).

ctimeАтрибут часто невірно витлумачений як час створення, а іноді, яка прагне заплутати людей.

Оболонки POSIX не мають стандартного способу вилучення цих трьох атрибутів, і ви будете залежати від lsкоманди. ls -l $fileза замовчуванням показує час модифікації.

  • ls -lc $file показує ctime
  • ls -lu $file показує atime

ls --time-style=full-isoЯкщо ви працюєте в системі GNU / linux, рекомендується використовувати інший формат iso для послідовного виводу.

У Perl та інших мовах сценаріїв stat()файл легше і отримати доступ до його атрибутів. Perl навіть має -M, -Aі -Cоператор , які повертають mtime, atimeі ctimeдля об'єкта файлової системи. Зауважте, що час компенсації. Perl, як правило, звітує про час відносно часу початку процесу.


0

Вибачте за те, що ви не пишете awk / sed для вас, але statкоманда забезпечить час доступу, зміни та зміни часу. Це буде для вас глобальним. Я не впевнений, чи працює він у AIX, я до цього часу не маю доступу.


"Змінені" та "модифіковані", вони не є синонімами?
П’єр Гардін

Якщо дозволи на права власності на файли будуть змінені, то це оновить ctime, але не mtime.
Сірч

І я щойно увійшов у AIX, боюся, statхіба там ... вибачте, я AIX smitty noob.
Сірч

"час зміни метаданих"
Ігнасіо Васкес-Абрамс

"inode" час зміни.
Сірч
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.