Не знаю, как sed
сделал бы это, но этот сценарий python
должен сделать трюк :.
Это не sed
, но я считаю python
намного проще в использовании, делая такие вещи, как эти:
#!/usr/bin/env python
import os
files = os.listdir('.')
for file in files:
os.rename(file, file.replace('\r', '').replace('\n', ''))
print 'Processed ' + file.replace('\r', '').replace('\n', '')
Он раздевает вхождения как \r
и \n
из всех имен файлов в заданной директории ,
Чтобы запустить его, сохраните его где-нибудь, cd
в целевой каталог (с файлами, подлежащими обработке) и запустите python /path/to/the/file.py
.
Кроме того, если вы планируете больше переименовывать партии, рассмотрите Métamorphose. Это действительно хороший и мощный графический интерфейс для этого. И, это бесплатно!
Удачи вам!
На самом деле, попробуйте следующее: cd
в каталог, введите в python
, а затем просто вставьте в:
exec("import os\nfor file in os.listdir('.'):\n os.rename(file, file.replace('\\r', '').replace('\\n', ''))\n print 'Processed ' + file.replace('\\r', '').replace('\\n', '')")
Это версия одной строкой предыдущего сценария, и вы не» t сохранить его.
Version 2, с заменой пространства полномочий:
#!/usr/bin/env python
import os
for file in os.listdir('.'):
os.rename(file, file.replace('\r', '').replace('\n', '').replace(' ', '_')
print 'Processed ' + file.replace('\r', '').replace('\n', '')
И вот один вкладыш:
exec("import os\nfor file in os.listdir('.'):\n os.rename(file, file.replace('\\r', '').replace('\\n', '')replace(' ', '_'))\n print 'Processed ' + file.replace('\\r', '').replace('\\n', '');")
@blender: спасибо за скрипт. Я запускаю его в порядке, но имена файлов по-прежнему «разбиты» по нескольким строкам. Какой другой персонаж может вызвать это ?. Очевидно, что \\ r и \\ n не являются виновниками здесь :( – skyeagle
Вы уверены, что это не просто упаковка и пробелы? Для меня длинные имена файлов разбиваются по пробелам. Если вы хотите, я могу изменить его, чтобы заменить пробелы с подчеркиваниями.Может быть, это поможет? – Blender
Я также написал сценарий замены пространства. Проверьте это, может быть, это сработает? Никаких других символов, кроме '\ n' и' \ r', вызывают разрывы строк. Это может быть только ваш файловый менеджер ... – Blender