Tengo un archivo bash en el que me gustaría realizar varios cambios.
sed -i 's/ / /g' testfile
sed -i -e 's/#[a-z]$//' -e '/^$/d' testfile
sed -i 's/ *$//' testfile
sed '/##=/ r header' testfile
En el primer comando, me gustaría reemplazar TAB con espacios y luego eliminar los comentarios (también hay comentarios que comienzan con ##) y líneas vacías. Después de eso, me gustaría insertar un archivo después de un patrón específico en mi archivo. ¿Hay algún problema con el orden de los comandos?
Respuesta1
puedes dar varias instrucciones en una sola toma de sed, por ejemplo:
sed 's/\t/ /g;/^ *$/d;s/^#/NODIESE/' testfile
esta sola línea
- reemplazar pestaña con espacio
- eliminar línea que comienza con cosas vacías (o línea vacía)
- reemplace Dash al inicio con la palabra NODIESE
por lo que su archivo de prueba se procesa solo una vez y ejecuta sed solo una vez.