Ich schreibe ein bash
Skript, um Daten von procmail zu erhalten und eine Ausgabe CSV-Datei zu erzeugen.Spalte zu Zeile Übersetzung mit sed
Am Ende muss ich von diesem übersetzen:
---label1: 123456
---label2: 654321
---label3: 246810
---label4: 135791
---label5: 101010
dazu: diese
label1,label2,label3,label4,label5
123456,654321,246810,135791,101010
ich tun konnte leicht mit einem ruby
Skript, aber ich möchte nicht eine andere nennen Skript anders als das bash
Skript. Also habe ich es mit sed
gemacht.
kann ich die Daten extrahieren ich so will:
sed -nr 's/^---(\S+): (\S+)$/\1,\2/p'
Aber ich weiß nicht, wie es transponieren. Kannst du mir helfen?
-r benötigt ist kein Standard –
Ich verstehe nicht den Grund für die Verwendung von Ruby. Sie möchten die Verwendung einer Skriptsprache vermeiden und verwenden daher zwei. Ihr Skript wird wachsen und wachsen, und bevor Sie es wissen, wird es für Schleifen und tr und awk und sed Anrufe überall geben. Die Verwendung einer geeigneten CSV-Bibliothek kann ebenfalls hilfreich sein, wenn nicht jetzt, dann beim nächsten Job, in dem in Ihren Daten Anführungszeichen oder Kommas stehen. Ich weiß nicht über Ruby, aber Perl hat einen. – reinierpost
Die Sache ist, dass ich keine andere Datei wollte, nur ein Bash-Skript, um die Verarbeitung zu machen. Aber ich habe einen Weg gefunden, Ruby als Oneliner im Bash-Skript zu verwenden. – chmeee