2017-09-28 1 views
-1

J'ai un fichier abcd.csv dans le système Linux qui se trouve dans ": UTF-8 Unicode texte anglais, avec CRLF, Terminateurs de ligne CR" J'ai besoin de le convertir en ": UTF-8 Unicode anglais texte, avec la ligne de terminateurs CRLF »Changement de format de fichier dans linux

s'il vous plaît suggérer

J'ai essayé dos2unix ainsi que perl -pi -e 's/\ n/\ r \ n /' pas de chance s'il vous plaît suggérer.

+0

Stack Overflow est un site pour les questions de programmation et de développement. Cette question semble être hors sujet car il ne s'agit pas de programmation ou de développement. Voir [Quels sujets puis-je poser à ce sujet?] (Http://stackoverflow.com/help/on-topic) dans le centre d'aide. Peut-être [Super User] (http://superuser.com/) ou [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) serait un meilleur endroit à demander. – jww

Répondre

0

CRLF, CR line terminators signifie que la première ligne du fichier a avoir CR, comme cette ligne CRLF fin et les suivantes (à la distance de l'échantillon, je suppose):

$ awk 'BEGIN{prinf "foo\r\nbar\rbaz\r"}' > test 
$ file test 
test: ASCII text, with CRLF, CR line terminators 

Nous pouvons le voir avec less -U test:

foo^M 
bar^Mbaz^M 

En utilisant GNU awk pour le convertir:

$ awk 'BEGIN{RS="\r\n?";ORS="\r\n"}1' test > out 

test avec file:

$ file out 
out: ASCII text, with CRLF line terminators 

ou less -U:

foo^M 
bar^M 
baz^M 
+0

Merci pour votre aide cela aide, à mon sens rien n'a été modifié dans l'application qui génère des fichiers ou le script qui a utilisé pour traiter le fichier depuis 6 mois, du coup nous avons commencé à voir des fichiers créés comme "": UTF- 8 Unicode texte anglais, avec CRLF, CR terminateurs de ligne "au lieu de" ": UTF-8 texte anglais Unicode, avec CRLF" toute suggestion de ce qui doit être vérifié ici. c'est dans la machine linux – SGS