Как переместить единственный файл в каждом подкаталоге наружу и изменить имя на имя каталога?

Похоже, что драйверы Wi-Fi не могут управлять оборудованием Wi-Fi в ваших NUC.

  • Несколько дистрибутивов Linux можно попробовать вживую без установки. Я думаю, что в NUC есть Intel Wi-Fi, который должен работать со встроенными драйверами -в Linux, но они должны быть достаточно новыми.

  • У меня есть NUC с оборудованием Intel 6-го поколения. Я заметил, что старые версии операционных систем не могут управлять оборудованием Wi-Fi, но новые версии управляют им без каких-либо настроек, «из коробки».

  • Редактировать 1 :Я тестировал на работающих системах :Ubuntu 18.04.1 LTS может управлять как проводным, так и беспроводным оборудованием моего NUC6i3SYH. Debian 9, Stretch может автоматически управлять проводной сетью. У меня не получилось с Wi-Fi, но другие люди могут это исправить (Я не знаю, проблема ли в драйвере или я не могу управлять пользовательским интерфейсом для Wi-Fi в Debian.)
  • Редактировать 2 :Я загрузил CentOS-7-x86_64-LiveGNOME-1810.iso, запустил его в реальном времени, и он может управлять как проводным, так и беспроводным оборудованием моего NUC6i3SYH. Он запустился так же легко, как и с Ubuntu 18.04.1 LTS. Но я давно не проверял стабильность.

Редактировать 3 :Вы должны учитывать, что аппаратное обеспечение может быть повреждено (, например, выйти из строя при нагревании ). Но если он хорошо работает с другой операционной системой, можно сделать вывод, что железо хорошее.

  • Когда было разработано ваше оборудование NUC и когда было разработано программное обеспечение CentOS 7?

  • Centos 7 имеет старую серию ядер, 3.10; версия ядра в действующей системе «1810» — 3.10.0-957.el7.x86_64 #1 SMP.Ubuntu 18.04.1 live имеет версию ядра 4.15.0 -29, а обновленная система имеет версию 4.15.0 -43.

  • Попробуйте использовать другую операционную систему с более новым ядром Linux и более новыми драйверами оборудования.
-1
08.03.2021, 12:29
1 ответ

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

for d in */; do n="${d%/}".txt; mv "${d}foo.txt" "$n"; rmdir "$d"; done

Это будет перебирать все подкаталоги (, т. е. элементы в текущем каталоге, которые соответствуют шаблону*/

.
  • сгенерировать новое имя файла, добавив .txtк имени каталога $d, где завершающий /удаляется в процессе(${d%/})
  • перемещает файл внутри каталога в текущий каталог, используя новое имя $nи
  • в конце удаляет теперь -пустой каталог $d.

Чтобы ошибиться на всякий случай , попробуйте сначала следующее:

for d in */; do n="${d%/}".txt; echo "mv ${d}foo.txt $n; rmdir $d"; done

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

4
18.03.2021, 22:27

Теги

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