2016-03-19 5 views
0

ich eine Textdatei wie folgt aussehen haben:entfernen Tabs und Leerzeilen mit grep/sed/tr

> cat test.txt 

    “Il faut attendre l’expiration du cache.” 


    “C'est sûrement un problème lié à l'hébergement.” 


    “Tu as du cliquer de travers.” 


> cat -e test.txt 
$ 
    �M-^@M-^\Il faut attendre l�M-^@M-^Yexpiration du cache.�M-^@M-^]$ 
    $ 
$ 
    �M-^@M-^\C'est sûrement un problème lié à l'hébergement.�M-^@M-^]$ 
    $ 
$ 
    �M-^@M-^\Tu as du cliquer de travers.�M-^@M-^]$ 
    $ 

ich meine Datei so aussehen wollen:

> cat test.txt 
“Il faut attendre l’expiration du cache.” 
“C'est sûrement un problème lié à l'hébergement.” 
“Tu as du cliquer de travers.” 

Um das zu tun dass ich versuchte sed -e 's/^\s*//' -e '/^$/d' test.txt , aber ich kann nicht das Ergebnis, das ich will. Es entfernt nur eine leere Zeile und ich habe immer noch nicht herausgefunden, wie Sie die Tabs entfernen.

> sed -e 's/^\s*//' -e '/^$/d' test.txt 
    “Il faut attendre l’expiration du cache.” 

    “C'est sûrement un problème lié à l'hébergement.” 

    “Tu as du cliquer de travers.” 

Wie kann ich alle leeren Zeilen und die Tabs am Anfang der Strings entfernen?

+1

Bitte werfen Sie einen Blick auf: [Was soll ich tun, wenn jemand beantwortet meine Frage?] (http://stackoverflow.com/help/someone-answers) – Cyrus

Antwort

0

Sie haben wahrscheinlich nicht GNU Sed. Mit GNU Sed sollte dein sed Befehl funktionieren.

Es gibt eine andere Lösung, die Sie ausprobieren können:

sed -e 's/^[[:space:]]*//' -e '/^$/d' test.txt 

oder, um nur den Einsatz Leerzeichen und Tabulatoren zu entfernen:

sed -e 's/^[ \t]*//' -e '/^$/d' test.txt