Удалите первые n символов из набора имен файлов с помощью cut
я использую
ls | cut -c 5-
Это возвращает список имен файлов в формате, который я им хочу, но фактически не выполняет действие. Пожалуйста, порекомендуйте.
Ответ 1
rename -n 's/.{5}(.*)/$1/' *
-n предназначен для имитации; удалите его, чтобы получить фактический результат.
Ответ 2
вы можете использовать следующую команду, когда находитесь в папке, где вы хотите переименовать:
rename -n -v 's/^(.{5})//' *
-n для каких-либо действий и -v чтобы показать, какими будут изменения. если вы удовлетворены результатами, вы можете удалить оба из них
rename 's/^(.{5})//' *
Ответ 3
Что-то вроде этого должно работать:
for x in *; do
echo mv $x 'echo $x | cut -c 5-'
done
Обратите внимание, что это может быть разрушительным, поэтому сначала запустите его таким образом, а затем удалите ведущее echo только вы уверены, что он делает то, что вы хотите.