Теперь я знаю, как использовать найти | Ключевое слово grep, чтобы получить файл, который я хочу.

Но после этого, как мне узнать размер, информацию create_time каждого найденного файла?

Например, после поиска | Учебник grep, я получил это:

./lab/zengjuchen/tutorial
./lab/zengjuchen/tutorial/tutorial

Как я должен посмотреть их время создания и размер?

1 ответ1

3

Вы начали неправильно, используя find и grep вместе. find прекрасно умеет фильтровать файлы. Вам не нужен grep для этого - на самом деле, перестановка имен файлов, как это, не рекомендуется.

Сделайте это вместо этого:

find -name '*tutorial*' -exec <some-command> {} \;

Здесь <some-command> будет запускаться для каждого найденного файла, имя которого будет заменено {} . Например, чтобы получить размер файла:

find -name '*tutorial*' -exec du {} \;

Использование \+ вместо \; заставит find выполнить команду сразу для всех файлов, если данная команда поддерживает передачу более одного аргумента файла. Это ускорит процесс.


Или вы можете просто сделать это с Bash:

shopt -s globstar
du **/*tutorial*

Здесь ** рекурсивно пересекает все каталоги.


Что касается времени создания: Традиционно это не сохраняется. Вы получите только последний доступ, изменения и время изменения статуса. Подробнее о stat Файловые системы, такие как ext4 , хранят время создания как "Время рождения". Таким образом, stat -c %w будет работать для тех. Подробнее об этой проблеме читайте здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .