Как исправить временные метки для писем в текущем каталоге

for f in `ls *.eml`; do touch -d "`grep Date: $f | head -n 1 | sed 's/.*, \(.*\) +.*/\1/'`" $f; done


Команда for f in ls *.eml; do touch -d "grep Date: $f | head -n 1 | sed ‘s/.*, \(.*\) +.*/\1/’" $f; done исправляет временные метки для всех писем в текущем каталоге.

Она выполняет следующие действия:
1. Перебирает все файлы с расширением .eml в текущем каталоге.
2. Для каждого файла распознает дату и время из строки с помощью команды grep Date: $f | head -n 1 | sed 's/.*, \(.*\) +.*/\1/'.
3. Использует полученную дату и время в команде touch -d, чтобы изменить временные метки файла на соответствующие значения.
4. Повторяет эти действия для каждого письма в текущем каталоге.

Эта команда полезна, когда необходимо исправить неправильно установленные временные метки для писем. Альтернативой может быть использование графического интерфейса или других утилит командной строки для изменения временных меток. Передаваемый команде аргумент *.eml указывает на все файлы в текущем каталоге с расширением .eml.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *