Поиск файла в каталоге по времени

Я вижу ответ ниже из здесь.

Проверка файловой системы при загрузке обычно выполняется только на чтение, пока не найдет проблему, затем она попросит вас перед тем, как вносить изменения, так что, вероятно, она безопасна для целочисленных версий.

Но вполне возможно (и это не редкость для серверов, которые должны возвращаться обратно после отключения питания) установить автоматическое исправление, так что если вы не знаете наверняка, что ваша система не настроена таким образом, пусть она работает до конца для безопасности.

Большинство программ fsck написаны таким образом, что любые вносимые изменения максимально возможны atomic и они будут очищать (завершить или откатить любое текущее изменение) перед тем, как ответить на TERM или INT сигнал (SIGINT - это то, что посылается в активный процесс при нажатии ctrl+c), поэтому даже активная запись fsck должна быть безопасна для прерывания, но я не рекомендую рисковать - лучше безопасно, чем извиняться!

.

1
05.09.2015, 11:39
2 ответа

Требуется +240 вместо -240.

find . -cmin +240 

Вы можете добавить -type f, чтобы отображались только имена файлов, а не имена каталогов

find . -cmin +240 -type f
2
27.01.2020, 23:36

1P является расширением для 1 man страницы grep. Можно использовать man -e P grep для получения страницы P руководства по расширению ( man -e 1p grep также должен работать).

Есть и другой способ: man -a grep показывает все страницы man для grep , чтобы можно было пропустить ненужные страницы вручную и перейти к 1P.

Вы также можете научиться использовать человека - человек человек получит вас там (да, человек имеет свою собственную страницу человека).

edit: В случае, если вы не упомянули man-страницы, если вы используете Ubuntu или Debian, вы можете установить manpages-posix-dev :

sudo apt-get install manpages-posix-dev
-121--38169-

Вы можете использовать awk для решения подобных ситуаций. Например, для извлечения из файла rawile только 2 SNR и 2 Attn числа и дать им rrd в порядке оба падения, то оба взлеты:

awk '/^SNR/  { snrdown = $3; snrup = $4; }
     /^Attn/ { attndown = $2; attnup = $3; }
     END     { data = sprintf("N:%s:%s:%s:%s", snrdown, attndown, snrup, attnup);
               system("rrdtool update " data " myrrdfile");
             }' <rawfile

Первая линия awk соответствует только строке, начинающейся «SNR». По умолчанию awk разбивает строки на поля, разделенные пробелами. Поля нумеруются от 1. Итак, $3 - это поле с 21.8 в этом примере. Значение сохраняется в произвольно именованной переменной.

Аналогично, 2-я строка awk совпадает только со строкой «Attn», но поскольку между этим и «(dB)» нет места, наш первый номер находится в поле $2.

Операция END выполняется после считывания всех строк из файла rawfile . Он создает последовательность данных для rrd (которому нужно что-то вроде N: 21.8: 26.0:...). Каждый % s в последовательность формата заменяется одной из переменных, следующих за форматом.

awk хорошо стоит узнать. Это очень универсально.

-121--174483-
find . -cmin +240 -type f -exec basename {} \;

Выполняется basename для каждого найденного файла и указывается только имя файла.

0
27.01.2020, 23:36

Теги

Похожие вопросы