Erstellen einer CSV-Datei

Erstellen einer CSV-Datei

Ich möchte eine Datei mit zwei Tabellen erstellen.

Zum Beispiel:

Ich habe das:

cat 1.log | cut -d: -f 9 | sort | uniq
teste
teste2
teste3

und ich habe einen anderen Befehl:

cat 1.log | cut -d: -f 6 | cut -d " " -f2 | sort | uniq

zurückkehren:

hello
good
bed

und ich möchte eine Datei wie diese erstellen:

teste | hello
teste2 | good
teste3 | bed

Wie macht man das?

Antwort1

obwohl Sie nach einer CSV-Datei fragen, fragen Sie tatsächlich nach einer durch Pipes getrennten Datei

Sie können dies mit dem folgenden Befehl erreichen paste:

paste -d '|' file1.txt file2.txt 

Das Ergebnis lautet wie folgt:

teste|hello
teste2|good
teste3|bed

das -din pastefügt ein ausgewähltes Trennzeichen ein

Wenn das Ergebnis Leerzeichen um das Trennzeichen enthalten soll |, können Sie hinzufügen, sed 's/|/ | /g'dass alle Vorkommen von |(ohne umgebende Leerzeichen) durch |(mit umgebendem Leerzeichen auf jeder Seite) ersetzt werden.

paste -d '|' file1.txt file2.txt | sed 's/|/ | /g'

Ergebnis:

teste | hello
teste2 | good
teste3 | bed

nur für den Fall, dass Sie eine durch Kommas getrennte Datei möchten, dann müssen Sie nur Folgendes ändern:

das -d '|'zu-d ','


das würde so aussehen:
paste -d ',' file1.txt file2.txt 

verwandte Informationen