Как скопировать и переместить несколько числовых файлов в Ubuntu? [закрыто]

Хорошо, попробовал, он работает, но есть оговорки, поэтому вот мои заметки:

Биос на этом ПК дал мне два варианта загрузки Ubuntu 14.04 32-разрядный загрузочный USB-накопитель USB: UEFI , и не-UEFI. Выбор UEFI просто перезагрузил BIOS, поэтому мне пришлось использовать не-UEFI. После загрузки USB-накопителя выберите Try Ubuntu.

Здесь я запустил gparted (или gparted-pkexec), а затем сжал основной раздел 64-битного Ubuntu 14.04, затем сделал нераспределенное пространство в новый раздел ext4. На этом этапе видно, что 64-битный установщик сделал отдельный раздел для загрузки - обратите внимание на это позже.

На этом этапе я запустил значок «Установить Ubuntu» из 32-битного запуска в реальном времени. Когда дело доходит до экрана «Тип установки» (см. Http://www.ubuntu.com/download/desktop/install-ubuntu-desktop), выберите «Что-то еще» и просто дважды щелкните на разделе, сделанном на предыдущем шаге, «используйте» его как ext4 и поставьте его как точку монтирования / (корень), затем продолжите установку.

Здесь вы получите приглашение «Зарезервированная область загрузки BIOS» («.. Если вы не вернетесь в меню секционирования и не исправите эту ошибку, ... », см. http://www.ubuntu.com/download/desktop/install-ubuntu-desktop ) - вы можете проигнорируйте это и продолжайте, как мы видели ранее в gparted, что уже существует такой загрузочный раздел.

Когда 32-разрядная установка завершается и компьютер перезагружается, вы заметите, что есть нет меню Grub при запуске, вместо этого компьютер загружается непосредственно в 64-разрядную ОС. Здесь, по моему, я не могу заставить меню grub появляться во время загрузки, я изменил GRUB_HIDDEN_TIMEOUT и т. Д. (См. Https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html и Ошибка № 1258597 «Предупреждение: установка значений GRUB_TIMEOUT на ненулевое значение ...») в /etc/default/grub и запущено sudo update-grub - я думаю, что это привело к обнаружению 32-разрядного раздела установки, и это меню запись добавляется в меню Grub. Когда этот запуск, наконец, перезагрузится, меню Grub должно быть показано при запуске - если нет, попробуйте удерживать / нажимать Shift, как только проедет экран BIOS.

Теперь я могу загрузиться во вновь установленном 32- бит, я запускаю apt-get update + dist-upgrade, так как есть новое ядро, новое ядро ​​устанавливается, и теперь в меню Grub должна быть добавлена ​​дополнительная запись, поэтому update-grub автоматически запускается в 32-битном режиме с помощью [ f12], и, к сожалению, будет запутан процесс загрузки. В следующий раз, когда мы перезагрузимся, если мы захотим перейти на 32-битную ОС через меню Grub, мы будем встречены с ошибками Grub, такими как «файл не найден» и «неустановленный указатель».

К счастью, этот пункт, запись Grub для 64-битного процесса по-прежнему не работает, поэтому мы можем загрузиться в 64-битной системе, и здесь выпустите sudo update-grub, чтобы исправить загрузку Grub.

Теперь, при этом Есть два незначительных сбоя. Во-первых, имена, отображаемые в меню Grub, это что-то вроде «Ubuntu» для 64-разрядной (первой) установки и «Ubuntu с ядром xxxx on / dev / sdxy» для 32-разрядной установки. Я бы предпочел иметь имена, такие как «Ubuntu 64-bit» и «Ubuntu 32-bit», но это, по-видимому, трудно сделать ( я не могу получить меню grub, чтобы отображаться во время загрузки , ошибка # 439538 «Grub2 не предоставляет возможность переименовать меню на / etc / default / grub»), поскольку Grub2, похоже, автогенерирует эти имена из сценариев.

Затем также порядок загрузки устанавливается Grub2, поэтому, если вам нужно, чтобы ОС по умолчанию была загружена в 32-разрядную, вам нужно будет подсчитать, какой порядок является желаемой записью, показанной в меню загрузки Grub2, а затем использовать GRUB_DEFAULT=x в /etc/default/grub ( Ошибка # 439538 "Grub2 не предоставляет опции для переименования menuentry на / etc / default / grub" ), за которым следует sudo update-grub - опять же, выполняется строго в 64-битной ОС!

Очевидно, что каждый раз нужно быть особенно осторожным с возможностью переустановки этих вещей каждый раз, когда в любой из ОС есть обновление ядра ...

-1
задан 18 December 2017 в 06:56

4 ответа

Вы можете попробовать это скопировать файл, найдя regex в диапазоне

for file in 201712140* do matched="$(echo "$file" | grep -oP '(?<=201712140)([^.]+)')" if [[ $matched -ge 20331 && $matched -le 45246 ]]; then cp -v $file /your/location fi done

Просто запустите этот скрипт в своем исходном каталоге. Сохраните его в файле xyz.sh и запустите bash xyz.sh

0
ответ дан 18 July 2018 в 00:58

Команда cp принимает один или несколько исходных файлов, за которыми следует пункт назначения. Если есть несколько исходных файлов (как в вашем случае), то целью должен быть каталог (где все файлы будут скопированы). Согласно комментарию, вы неправильно используете квадратные скобки. Я не знаю, что будут делать фигурные фигурные скобки, но, скорее всего, не то, что вы хотите. Предполагая, что ваш первый исходный файл / home / pi / timelapse / 20171214020331, что имена файлов не содержат пробелов и что целевой каталог / media / pi / FC33-7BFB1 / timelapse уже существует, попробуйте

cp /home/pi/timelapse/201712140[23]* /media/pi/FC33-7BFB1/timelapse/

Если это копирует все файлы, начиная с 2017121402 и 2017121403, вы можете переместить следующий набор с помощью [45] и т. д. Это немного громоздко, но вы начнете свой путь к открытию ...

2
ответ дан 18 July 2018 в 00:58

Вы можете попробовать это скопировать файл, найдя regex в диапазоне

for file in 201712140* do matched="$(echo "$file" | grep -oP '(?<=201712140)([^.]+)')" if [[ $matched -ge 20331 && $matched -le 45246 ]]; then cp -v $file /your/location fi done

Просто запустите этот скрипт в своем исходном каталоге. Сохраните его в файле xyz.sh и запустите bash xyz.sh

0
ответ дан 24 July 2018 в 17:18

Команда cp принимает один или несколько исходных файлов, за которыми следует пункт назначения. Если есть несколько исходных файлов (как в вашем случае), то целью должен быть каталог (где все файлы будут скопированы). Согласно комментарию, вы неправильно используете квадратные скобки. Я не знаю, что будут делать фигурные фигурные скобки, но, скорее всего, не то, что вы хотите. Предполагая, что ваш первый исходный файл / home / pi / timelapse / 20171214020331, что имена файлов не содержат пробелов и что целевой каталог / media / pi / FC33-7BFB1 / timelapse уже существует, попробуйте

cp /home/pi/timelapse/201712140[23]* /media/pi/FC33-7BFB1/timelapse/

Если это копирует все файлы, начиная с 2017121402 и 2017121403, вы можете переместить следующий набор с помощью [45] и т. д. Это немного громоздко, но вы начнете свой путь к открытию ...

2
ответ дан 24 July 2018 в 17:18

Другие вопросы по тегам:

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