Использование rename:
rename -n 's/_/ /g' *
Если все в порядке, удалите переключатель -n:
rename 's/_/ /g' *
~/tmp$ tree
.
├── file
├── file_1
├── file_2
├── file_3
└── file_with_underscores
0 directories, 5 files
~/tmp$ rename 's/_/ /g' *
~/tmp$ tree
.
├── file
├── file 1
├── file 2
├── file 3
└── file with underscores
0 directories, 5 files
Использование расширения bash:
for file in *.png; do mv -i "$file" "${file%% *}".png; done
${file%% *} будет отбрасывать нежелательную часть имени файла, начиная с пробела. Затем добавление .png добавляется после имени файла, а mv -ing.
Вы можете попробовать следующий код python snippet
import os
import glob
files = glob.glob('*')
for file in files:
var1 = file.find(' (')
var2 = file.find(')')+1
filename = file[:var1] + file[var2:]
os.rename(file, filename)
glob находит все файлы, которые удовлетворяют аргументу regex. Вы перебираете список и изменяете имя файла rename, меняя имя file Используя bash и расширение параметра, запустите следующий код из того же каталога, где у вас есть файлы.
for file in *.png ; do NAME="${file%%\ \(*}"; EXT="${file##*.}" ; mv "$file" "$NAME"."$EXT" ; done
Пример выполнения
$> ls
icon-culture (2015_09_04 06_58_44 UTC).png icon-disk (2015_09_04 06_58_44 UTC).png
$> for file in *.png ; do NAME="${file%%\ \(*}"; EXT="${file##*.}" ; mv "$file" "$NAME"."$EXT" ; done
$> ls
icon-culture.png icon-disk.png