Отказ от Scientific Linux

Если вы используете GNU Coreutils, у вас есть:

$ date --date=2014-11-13 +"%Y%m%d"
20141113

Однако:

$ date --date=2014-11-130ABCJUNK +"%Y%m%d"
date: invalid date ‘2014-11-130ABCJUNK’

Таким образом, задача намного проще :извлечь первые десять символов каждого YYYY-MM-DDetcимени файла, чтобы получить дату отдельно, а затем перейти к dateдля переформатирования.

Но если мы используем GNU Coreutils, мы можем пропустить команду date, потому что touchимеет точно такую ​​же опцию --date=STRING.

for file in * ; do
  date=${file%${file##??????????}} # chop all but first ten
  touch --date=$date -- "$file"
done

Но почему это десятисимвольное отсечение переносимым способом POSIX, когда мы полагаемся на touchиз GNU Coreutils?

for file in * ; do
  date=${file:0:10}
  touch --date=$date -- "$file"
done
2
03.09.2019, 12:41
1 ответ

Если вы знакомы с Scientific Linux, ближе всего будет CentOS. Fedora находится на несколько шагов впереди в версиях программного обеспечения, поэтому может возникнуть проблема с настройкой.

Вы можете попробовать dnf list --installedполучить список установленных пакетов. Вам нужно будет отредактировать точные версии и сохранить архитектуры, чтобы иметь возможность использовать список для установки эквивалентных пакетов позже.

Мне приходилось переустанавливать поврежденные установки Fedora. Я сохранил конфигурацию (по существу /etc), установил поверх системы (, стараясь не форматировать /home), установил сохраненный список пакетов, восстановил учетные записи и такую ​​форму сохранил /etc. По крайней мере, я так это помню, это было довольно давно. И это не связано с различными дистрибутивами.

0
27.01.2020, 22:16

Теги

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