Tengo una gran cantidad de archivos de mi trabajo docente que quiero colocar en OneDrive en una copia de seguridad periódica. Mis colegas no saben nombrar archivos, por lo que necesitan una limpieza para que OneDrive los acepte.
Lo que no puedo entender es cómo seleccionar un espacio antes de un punto.
estoy intentando esto
bash-3.2$ echo "foo bar .pdf" | tr -s " \." '\.'
y conseguir esto
foo.bar.pdf
en lugar de foo bar.pdf
. ¿Qué hay de malo en mi comando?
Respuesta1
tr
reemplazasolterocaracteres con caracteres individuales y usted le dijo que reemplazara cada espacio y cada punto con un punto (excepto que -s
comprime el espacio + el punto en una sola entidad para reemplazar). En otras palabras, un espacio o punto es suficiente para activar su archivo tr
.
Para reemplazar cadenas use sed
:
echo "foo bar .pdf" | sed 's/ \././g'
Nota: Lo usé g
porque tr
usaste actos globalmente, así que asumí que esto es lo que quieres en general (no importa para esta cadena en particular foo bar .pdf
).