Wie drucke ich ein Trennzeichen für alle Felder im Join-Dienstprogramm?
366
Xiè Jìléi
Zum Beispiel:
Datei A:
Tom:black Lily:pink
Datei b:
Tom:big Kate:small
Und das Ergebnis:
join -t: a1 a b
Habe:
Tom:black:big Lily:pink
Was ich aber will ist:
Tom:black:big Lily::pink
dh der Doppelpunkt in der letzten Zeile fehlt, eine Idee?
2 Antworten auf die Frage
1
icyrock.com
Dieses Verhalten wird erwartet pro man join:
-a FILENUM print unpairable lines coming from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2
Sie können es in zwei Durchgängen wie folgt machen:
join -t: a b && join -t: -v1 a b|sed 's/:/::/'
oder etwas in diese Richtung.
1
Dennis Williamson
Ich würde denken, Sie möchten, dass die Felder in einer konsistenten Position sind. Wenn ja, dann würde einer von ihnen nur mit einem Aufruf von joinund nein funktionieren sed:
$ join -t: -a1 -o 1.1,1.2,2.2 a b Tom:black:big Lily:pink: $ join -t: -a1 -o 1.1,2.2,1.2 a b Tom:big:black Lily::pink