Estoy intentando mover cierto comando de ViM a un script Bash de Linux. En ViM el comando es
:g/^SOMEWORD$/d
Para eliminar cualquier línea que contenga solo alguna palabra y nada más.
Cuando lo muevo a un script bash ya no funciona
vim -e -s /tmp/file.txt << EOF
:g/^SOMEWORD$/d
:update
:quit
EOF
Escapar de $
no parece hacer una diferencia, ¿hay otra forma de usarlo $
en este tipo de escenario o me falta algo más?
vim -e -s /tmp/file.txt << EOF
:g/^SOMEWORD\$/d
:update
:quit
EOF
Respuesta1
No entiendo por qué, pero editar el archivo directamente en ViM lo trataba como un archivo Unix, pero editarlo a través de here-doc lo trataba como un archivo DOS. Sin embargo, encontré esta herramienta realmente útil que solucionó el problema.
`yum install dos2unix`
dos2unix ./filename.txt
Parece que esto hace que el archivo sea compatible con los estándares de archivos Unix.