Мой друг сгруппировал таким образом тонны файлов в Windows
После того, как я заставил его переключиться на Ubuntu, файлы больше не упорядочены на основе число восклицательных знаков впереди, поэтому я хотел бы знать, как бы я мог переключить их, следуя этому правилу:
1
для !
и !!
0
для !!!
и !!!!
Я думаю, мне следует использовать awk, но я не эксперт, поэтому я здесь ..
Для пакетного переименования файлов и каталогов с GUI можно использовать GPRename.
можно установить его с:
sudo apt-get install gprename
Вы могли также использовать находящееся в perl rename
команда, например,
rename -vn -- 's/^!{1,2}(?!!)/0/' *
для соответствия один или два !
символы, не сопровождаемые !
в запуске (^
) из имени, и substitute 0
; и
rename -vn -- 's/^!{3,4}(?!!)/1/' *
для соответствия три или четыре !
символы, не сопровождаемые !
в запуске (^
) из имени, и substitute 1
.
ПРИМЕЧАНИЕ: эти -n
переключатель позволяет Вам делать, 'пробный прогон', на самом деле не меняя имена - тестирует выражения сначала и удаляет n
, если Вы хотите продолжить двигаться.
В сценарии Python:
#!/usr/bin/env python3
import os
import shutil
import sys
dr = sys.argv[1]
replace = ["!", "!!", "!!!", "!!!!"]
for f in os.listdir(dr):
test = [f.startswith(s) for s in replace]
if test.count(True) > 2:
shutil.move(dr+"/"+f, dr+"/"+"0"+f.replace("!", ""))
elif 0 < test.count(True) < 3:
shutil.move(dr+"/"+f, dr+"/"+"1"+f.replace("!", ""))
Это заменит продвижение !!!!
и !!!
0
, и !!
и !
1
, принятие !
происходит только в начале имени.
rename.py
Выполните его из окна терминала командой:
python3 /path/to/rename.py '<directory>'
где <directory>
каталог, содержащий файлы для переименования.