Изменение даты изменения файла на основе даты в имени файла

mpstat (1) N M -I позволяет сделать это с указанным интервалом опроса и количеством отчетов.

  • N - интервал опроса в секундах.
  • M - количество отчетов.
  • Согласно справочная страница , -I , которая принимает ряд параметров, предназначена для «Сообщать статистику прерываний».

Кроме того,

intr / s
Показывает общее количество прерываний, получаемых ЦП или ЦП в секунду.
С ключевым словом CPU отображается количество каждого отдельного прерывания, полученного CPU или CPU за секунду. Прерывания перечислены в файле / proc / interrupts.

7
23.04.2016, 01:34
2 ответа

Пример использования bash строковых манипуляций только для извлечения даты:

#!/bin/bash

for name in IMG-[0-9]*.jpg; do
    touch -amt ${name:4:8}0900 "$name"
done
9
27.01.2020, 20:16

В вашем примере, предполагая, что все файлы имеют действительную дату ггггммдд , вы можете извлечь дату из имени файла и примените это в процитированной команде:

#!/bin/bash
for name in IMG-*-W*.jpg
do
    date="$(echo "$name" | sed -e 's/^IMG-//' -e 's/-W.*//')"
    touch -a -m -t ${date}0900 "$name"
done

Если у какого-то файла нет действительной даты, это больше работы. Но вы можете проверить это в bash с помощью регулярного выражения.

2
27.01.2020, 20:16

Теги

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