Должен ли я заботиться об основной, ограниченной, мультивселенной?

Есть две проблемы, связанные со сбоем второй части скрипта. Во-первых, вы на самом деле не читаете никаких входных данных в цикл. У вас было:

while IFS= read -r file; do something; done

Но нужно:

while IFS= read -r file; do something; done < "$inputFile"

Тогда mvне может читать из входного потока, нет смысла передавать в него данные. Ему нужны имена файлов в качестве входных данных, а не только текст, и он в любом случае не читает со стандартного ввода. Итак, echo "$file" | mv "$file" "/somewhere"— это то же самое, что просто запустить mv "$file" "/somewhere". echo $fileбессмысленно. И это не работает, так как $fileимеет только вторую часть имени файла (001, 002и т. д. ), а не фактическое имя файла.

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

for file in /path/to/directory1/** ; do 
    dirName=$(awk -F[-.] '{print $2}' <<<"$file"); 
    echo mv "$file" "/path/to/directory2/$dirName"; 
done

Если это распечатывает то, что вам нужно, удалите echoи запустите его снова, чтобы фактически переместить файлы.

-2
31.08.2021, 07:32
1 ответ

Большая часть этого рассматривается в подробном описании репозиториев в вики Ubuntu .

  1. Вас должны волновать разные уровни поддержки и разные лицензии.:

    Компонент Поддерживается Длительность поддержкиЛицензия
    mainКанонический Пять лет (LTS)Бесплатно / с открытым исходным кодом
    restrictedСторонний -провайдер Пять лет (LTS)Право собственности, источник может быть недоступен
    universeСторонняя -сторона (обычно, Debian)Нет обязательств Бесплатно / с открытым исходным кодом
    multiverseТретья -сторона Нет обязательств Не -бесплатно, патент -обременен и т. д.
  2. securityсодержит исправления безопасности. updatesдополнительно исправляет серьезные ошибки. backportsпредоставляет новые версии (некоторых )пакетов.

  3. В большинстве случаев новые версии пакетов становятся доступными только в последующих выпусках Ubuntu. Однако иногда может быть полезно сделать новую версию доступной для пользователей старых выпусков, даже если она не является кандидатом на updates; вот тут-то и появляется backports. Обратите внимание, что backportsне тестируется в целом, поэтому, как правило, вы должны извлекать только те пакеты, которые вас интересуют, из этого репозитория.

2
31.08.2021, 08:37

Теги

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