Активировать неиспользуемые жесткие диски

Эта ошибка выглядит так: Perl rename. Вам нужно использовать кавычки, но вам нужно только указать часть, которую вы хотите изменить, стиль поиска и замены. Синтаксис выглядит так:

rename -n 's/\.DAT/\.dat/' *

Удалите -n после тестирования, чтобы фактически переименовать файлы.

Чтобы включить скрытые файлы, измените настройку glob перед запуском команды: 2]

shopt -s dotglob

Если вы хотите переименовать файлы рекурсивно, вы можете использовать

shopt -s globstar
rename -n 's/\.DAT/\.dat/' **

или если в текущей директории или ниже текущей директории, которая не заканчивается .DAT, существует много путей, вам лучше указать эти пути во второй команде:

rename -n 's/\.DAT/\.dat/' **/*.DAT

Это будет быстрее, если ваши файлы имеют разные имена, не заканчивающиеся на .DAT. [1]

To выключите эти настройки, вы можете использовать shopt -u, например shopt -u globstar, но они отключены по умолчанию и будут отключены при открытии новой оболочки.

Если это приводит к чрезмерно длинному списку аргументов, вы можете использовать, например, find:

find -type f -name "*.DAT" -exec rename -n -- 's/\.DAT/\.dat/' {} \;

или лучше

find -type f -name "*.DAT" -exec rename -n -- 's/\.DAT/\.dat/' {} +

Использование find ... -exec с + выполняется быстрее, чем при использовании \;, потому что это создает список аргументов из найденных файлов. Первоначально я думал, что вам не удастся использовать его, потому что вы упомянули, что у вас проблема с argument list too long, но теперь я знаю, что этот список также будет умно разбит на несколько вызовов команды по мере необходимости избегайте этой проблемы [1] .

Поскольку rename будет обрабатывать каждое имя файла таким же образом, не имеет значения, как долго список аргументов, так как он может быть безопасно разделен через несколько вызовов. Если команда, которую вы используете с -exec, не принимает несколько аргументов или требует, чтобы ее аргументы находились в определенном порядке или по какой-либо другой причине разделение списка аргументов вызовет что-то нежелательное, вы можете использовать \;, что вызывает команда, которая будет вызываться один раз для каждого найденного файла (если список аргументов слишком длинный для других методов, это займет много времени!).

Большое спасибо Элиа Кагану за очень полезные предложения по улучшению этого ответа:

[1] Указание имен файлов при глобировании. [2] find ... -exec с + разделяет список аргументов.

0
задан 16 April 2018 в 01:55

3 ответа

Чтобы монтировать диски sdb и sdc во время загрузки ...

В terminal ...

sudo blkid # показать UUID

обратите внимание на UUID для sdb и sdc.

sudo cp /etc/fstab /etc/fstab.bck # для создания резервной копии

sudo pico /etc/fstab # запустить редактор

отметить UUID для sdb и sdc. [!d5 ]

# ntfs disks

UUID=8E3A804C3A8032EF /media/infinity/Document_2 ntfs-3g defaults 0 0

UUID=to_be_determined /media/infinity/Document_3 ntfs-3g defaults 0 0

изменить UUID на значения, найденные в blkid изменении имя your_username (до бесконечности) изменит имена «Document_2» и «Document_3», если необходимо,

control + o #, чтобы сохранить изменения

control # to подтвердите filename

control + o #, чтобы выйти из редактора

sudo mount -a #, чтобы установить диски

0
ответ дан 22 May 2018 в 11:24
  • 1
    your_username отображается в приглашении terminal, перед @ ... возможно, что-то вроде «jeremie». sdb_Data и sdc_Data - это имена томов, которые вы хотите отобразить ... например «Фильмы»; и "Разработка". – heynnema 16 April 2018 в 00:28
  • 2
    Да, конечно. – heynnema 16 April 2018 в 00:39
  • 3
    Я покажу вам свое развитие в моем вопросе, если это не сработает. Благодаря! – Jeremie 16 April 2018 в 00:40
  • 4
    Нет. Используйте 8E3A804C3A8032EF, который является UUID для sdb, и вы изменили sdc с вашего вопроса, так что вам нужно будет переделать его так, как вы изначально сделали, а затем он отобразит правильный UUID. Вы захотите изменить метку раздела с «Новый том», к чему-то более представительному. – heynnema 16 April 2018 в 00:49
  • 5
    Первоначально вы показали sdb и sdc как тома ntfs. Теперь sdc отображается как объем рейда. Если вы использовали gparted для запуска дисков и создания новых разделов (если у вас нет данных), повторите этот процесс на обоих дисках и назовите разделы ntfs Document_2 и Document_3. Используйте таблицы разделов GUID, если диски имеют размер & gt; 2 ГБ. – heynnema 16 April 2018 в 00:55

Чтобы монтировать диски sdb и sdc во время загрузки ...

В terminal ...

sudo blkid # показать UUID

обратите внимание на UUID для sdb и sdc.

sudo cp /etc/fstab /etc/fstab.bck # для создания резервной копии

sudo pico /etc/fstab # запустить редактор

отметить UUID для sdb и sdc.

# ntfs disks

UUID=8E3A804C3A8032EF /media/infinity/Document_2 ntfs-3g defaults 0 0

UUID=to_be_determined /media/infinity/Document_3 ntfs-3g defaults 0 0

изменить UUID на значения, найденные в blkid изменении имя your_username (до бесконечности) изменит имена «Document_2» и «Document_3», если необходимо,

control + o #, чтобы сохранить изменения

control # to подтвердите filename

control + o #, чтобы выйти из редактора

sudo mount -a #, чтобы установить диски

0
ответ дан 17 July 2018 в 16:45

Чтобы монтировать диски sdb и sdc во время загрузки ...

В terminal ...

sudo blkid # показать UUID

обратите внимание на UUID для sdb и sdc.

sudo cp /etc/fstab /etc/fstab.bck # для создания резервной копии

sudo pico /etc/fstab # запустить редактор

отметить UUID для sdb и sdc.

# ntfs disks

UUID=8E3A804C3A8032EF /media/infinity/Document_2 ntfs-3g defaults 0 0

UUID=to_be_determined /media/infinity/Document_3 ntfs-3g defaults 0 0

изменить UUID на значения, найденные в blkid изменении имя your_username (до бесконечности) изменит имена «Document_2» и «Document_3», если необходимо,

control + o #, чтобы сохранить изменения

control # to подтвердите filename

control + o #, чтобы выйти из редактора

sudo mount -a #, чтобы установить диски

0
ответ дан 23 July 2018 в 17:37

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

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