2016-08-25 3 views
1

eine Kombination von Befehlen Verwendung Extrahieren I die folgende Zeile aus einer Textdatei aus (sagen file1.txt) und speichern sie in einer anderen Datei, sagen opfile.txtAnfügen Linien als Komma getrennte Werte in bash

opfile .txt

1% 
12 of 1G 
200 of 2G 

Nun sagen file1 Werte aktualisiert werden und das nächste Mal, wenn ich meinen Befehl ausführen, bekomme ich die Werte

2% 
10 of 1G 
100 of 1G 

Jetzt möchte ich die Ausgabe als kommagetrennte Werte auf jeder Zeile meiner opfile.txt wie folgt angehängt werden.

opfile.txt

1%,2% 
12 of 1G,10 of 1G 
200 of 2G,100 of 1G 

Wie genau kann ich es anhängen?

Um die erste Ausgabe in opfile.txt zu bekommen, verwende ich den Befehl

grep "#0" TestOutput | cut -f 4,5,6 | tr '\t' "\n " > opfile.txt 

Und das, was die Daten in opfile.txt Eingänge zunächst.

Nun, um die zweite Reihe von Daten zu bekommen, verwende ich diesen Befehl

grep "#0" TestOutput | cut -f 4,5,6 | awk '{print ","$1}{print ","$2" "$3" "$4}{print ","$5" "$6" "$7}' 

Und das gibt mir die folgende

,7.1% 
,230.9M of 1G 
,700.3M of 2G 

einfach die Verwendung >> es anhängen in opfile.txt gibt mir die Ausgabe auf allen verschiedenen Linien.

Wie bekomme ich sie auf der gleichen Linie?

Antwort

2

Sie paste Befehl verwenden können:

paste -d, opfile.txt <(your_command) 

1%,2% 
12 of 1G,10 of 1G 
200 of 2G,100 of 1G 

Wo your_command Ihr Befehl zweite Ausgabe erzeugt.

Verwandte Themen