El comando Bash Script Execute ViM aparentemente no interpreta el comando '$'

El comando Bash Script Execute ViM aparentemente no interpreta el comando '$'

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.

información relacionada