R: Obtenir des fichiers d’écriture LF linebreak de type Unix avec cat ()

J’essaie d’écrire un vecteur de caractères sur un fichier texte sous Windows 7 / R 3.2.2 x64, et je veux un unix LF – pas Windows CRLF:

v <- c("a","b","c") cat(nl,file="textfile.txt",sep="\n") 

écrit

 > a[CRLF] > b[CRLF] > c[CRLF] 

 cat(paste(nl,sep="\n",collapse="\n"),file="t2.txt") 

écrit

 > a[CRLF] > b[CRLF] > c 

J’ai également essayé write.table (eol = “\ n”) – sans succès car il semble utiliser cat en interne.

J’ai cherché d’autres solutions de contournement; J’ai essayé de trouver sth. dans R \ src \ main \ scan.c, localisant le code correspondant à la ligne 387ff.

Quiconque sait comment obtenir un fichier LF de type UNIX dans mon fichier de sortie?

Essayez d’ouvrir une connexion de fichier en mode “binary” (au lieu du mode “texte”) pour empêcher le codage dépendant du système de la fin de ligne:

 v <- c("a","b","c") f <- file("textfile.txt", open="wb") cat(v,file=f,sep="\n") close(f) 

basé sur la réponse de @xb

 converter <- function(infile){ print(infile) txt <- readLines(infile) f <- file(infile, open="wb") cat(txt, file=f, sep="\n") close(f) }