Я загрузил много файлов, некоторые из которых содержат недопустимые символы, закодированные на что-то вроде %2C, %2F ...
Я пробовал rename 's/%[0-9][A-Z]/_/g * и rename 's/\%[0-9][A-Z]/_/g *, но они ничего не делают. (Извините, моя ошибка. [F5] работает. Я вводил некоторые опечатки или что-то, что связано с символами полной ширины / полуширины ... ONZ .......... Plz голосует, чтобы закрыть это Q)
Например, имена файлов file,1.pdf, file/2.pdf ... закодированы как file%2C1.pdf, file%2F2.pdf. Я хочу переименовать их в file_1.pdf, file_2.pdf, ...
Вы можете использовать:
rename 's/%/_/g' *
Сначала запустите его, используя опцию -n (сухой запуск), чтобы убедиться, что все в порядке:
rename -n 's/%/_/g' *
Чтобы записать номер тоже:
rename -n 's/%[0-9]/_/g' *
или даже использовать что-то вроде этого, чтобы удалить все символы, кроме буквенно-цифровых:
$ rename -n 's/[^a-zA-z0-9]/_/g' *
rename(%SOME%2FFOR%, _SOME_2FFOR_)
rename(SOME%2FFOR, SOME_2FFOR)
rename(SOME%2FFOR%, SOME_2FFOR_)
Вы можете использовать:
rename 's/%/_/g' *
Сначала запустите его, используя опцию -n (сухой запуск), чтобы убедиться, что все в порядке:
rename -n 's/%/_/g' *
Чтобы записать номер тоже:
rename -n 's/%[0-9]/_/g' *
или даже использовать что-то вроде этого, чтобы удалить все символы, кроме буквенно-цифровых:
$ rename -n 's/[^a-zA-z0-9]/_/g' *
rename(%SOME%2FFOR%, _SOME_2FFOR_)
rename(SOME%2FFOR, SOME_2FFOR)
rename(SOME%2FFOR%, SOME_2FFOR_)
Вы можете использовать:
rename 's/%/_/g' *
Сначала запустите его, используя опцию -n (сухой запуск), чтобы убедиться, что все в порядке:
rename -n 's/%/_/g' *
Чтобы записать номер тоже:
rename -n 's/%[0-9]/_/g' *
или даже использовать что-то вроде этого, чтобы удалить все символы, кроме буквенно-цифровых:
$ rename -n 's/[^a-zA-z0-9]/_/g' *
rename(%SOME%2FFOR%, _SOME_2FFOR_)
rename(SOME%2FFOR, SOME_2FFOR)
rename(SOME%2FFOR%, SOME_2FFOR_)
используйте следующий скрипт, скопируйте сценарий и сохраните его в /bin как renamer.sh, а затем в любое время, когда вы захотите сделать какие-либо переименования в файлах этого типа, используйте простую команду renamer.sh #Input files#;
#!/bin/bash
for input in $@;
do
inputMod=$( echo "$input" | sed 's/\(%\)/\_/pg' );
mv "$input" "$inputMod" &> /dev/null;
shift;
done;
используйте следующий скрипт, скопируйте сценарий и сохраните его в /bin как renamer.sh, а затем в любое время, когда вы захотите сделать какие-либо переименования в файлах этого типа, используйте простую команду renamer.sh #Input files#;
#!/bin/bash
for input in $@;
do
inputMod=$( echo "$input" | sed 's/\(%\)/\_/pg' );
mv "$input" "$inputMod" &> /dev/null;
shift;
done;
используйте следующий скрипт, скопируйте сценарий и сохраните его в /bin как renamer.sh, а затем в любое время, когда вы захотите сделать какие-либо переименования в файлах этого типа, используйте простую команду renamer.sh #Input files#;
#!/bin/bash
for input in $@;
do
inputMod=$( echo "$input" | sed 's/\(%\)/\_/pg' );
mv "$input" "$inputMod" &> /dev/null;
shift;
done;