Замена одиночных пробелов и дефисов между пробелами в именах файлов

Можете ли вы предоставить следующее?

  • uname -a
  • sudo lshw
  • lsusb -v
  • lspci -v

https://paste.ubuntu.com/


Попробуйте загрузить Windows и отключить пробуждение -по -локальной сети.enter image description here

0
03.02.2020, 19:27
2 ответа

Одно решение с mvиsed:

for file in *; do echo mv "$file" "$(echo $file | sed 's/ - /_/g ; s/ /-/g')" ; done

Удалите первое эхо, чтобы зафиксировать изменения.

Испытания

$ for file in *; do echo mv "$file" "$(echo $file | sed 's/ - /_/g ; s/ /-/g')" ; done
mv File one - some name - 01-05-2020 File-one_some-name_01-05-2020
mv File three - some name - 01-15-2020 File-three_some-name_01-15-2020
mv File two - some name - 01-07-2020 File-two_some-name_01-07-2020
1
28.04.2021, 23:24

Использование «perl rename» Ларри Уолла(renameв Debian/Ubuntu, prenameв RHEL/Centos/Fedora):

rename -n -E 's/ - /_/g' -E 's/ /-/g' {file[s]} 

Удалите-n(или замените на-v)для фактического выполнения.

0
28.04.2021, 23:24

Теги

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