dos2unix desde vi o vim

Logo del vimAlgú recorda fer servir el vi/vim com a editor de text a la universitat? Bé, n’hi ha alguns que encara que sembli mentira encara fem servir aquest popular editor de text i com a editor és un dels més potents el que passa que avui en dia ja tothom esta acostumat a les interfícies d’usuari que són molt més senzilles de fer servir que un editor en mode comanda com és el vi. Doncs bé, quan transferiu un fitxer que prové d’una plataforma MSDOS/Windows, aquest fitxer contindrà com a final de línia dos caràcters: el que en anglès s’anomena carriage return  i line feed. En plataformes UNIX s’utilitza només el salt de línia.

Aquest és un problema molt antic que, com ja s’ha comentat anteriorment, es dona sempre en traspassar un fitxer d’una plataforma MSDOS/WINDOWS a una plataforma UNIX, i tot i que en plataformes UNIX hi ha eines que permeten fer aquest canvi molt fàcilment, com és la comanda dos2unix, si no es disposa d’aquesta eina, una solució passa per fer servir l’editor de text vi/vim seguint el següent procediment:

  • Obrir el fitxer amb vim
  • Entrar en mode comanda en el vim (tecla ESC) i escriure el següent:
:%s/^M//g

per escriure el caràcter ^M has de prémer CTRL-V i  CTRL-M o també es pot substituir ^M per \r.

  • Desar el fitxer

I ja està així de senzill, es farà el canvi en tot el fitxer.

 

Per al que no sàpiga el que és el vi/vim recomano una breu lectura a la vikipèdia.