No sé cómo sed
haría esto, pero esta secuencia de comandos python
debería hacer el truco :.
Esto no es sed
, pero me parece python
mucho más fácil de usar al hacer cosas como éstas:
#!/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', '')
Se despoja de cualquier ocurrencia tanto \r
y \n
de todos los nombres de archivo en un directorio dado .
Para ejecutarlo, guárdelo en algún lugar, cd
en su directorio de destino (con los archivos que se procesarán), y ejecute python /path/to/the/file.py
.
Además, si planea hacer más renombrado de lotes, considere Métamorphose. Es una GUI realmente agradable y poderosa para esto. Y, es gratis!
¡Buena suerte!
En realidad, intente esto: cd
en el directorio, el tipo de python
, y luego simplemente pegar esto en:
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', '')")
Es una versión de una sola línea del script anterior, y usted don' tengo que guardarlo
Versión 2, con facultad de sustitución espacio:
#!/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', '')
Y aquí está la de una sola línea:
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: gracias por el guión. Lo ejecuto bien, pero los nombres de los archivos todavía están 'divididos' en múltiples líneas. ¿Qué otro personaje podría estar causando esto? Obviamente, \\ r y \\ n no son los culpables aquí :( – skyeagle
¿Estás seguro de que no se trata de envoltorios y espacios? Para mí, los nombres de archivos largos se dividen a lo largo de los espacios. Si quieres, podría modificarlo para reemplazar los espacios. con guiones bajos.Tal vez eso ayudaría? – Blender
También he publicado un script de reemplazo de espacio. Pruébalo, quizás eso funcione? Ningún otro caracter además de '\ n' y' \ r' causa saltos de línea. Podría ser solo su administrador de archivos ... – Blender