Dies ist ein Follow-up zu this Frage. Ich habe this Datei fester Breite, wo die Spaltenbreiten sind 34 2 3 2 2 1 2 2 1 1 2 2 1 2 2 2 und 65. Ich möchte dies in R nach dem Löschen der ersten und letzten Spalten lesen, wo die Die zweite Spalte hat den Wert "07". Dank Matte, wenn ich die TXT-Datei zu csv nur konvertieren will, ich es mit diesem Code tun.Piping Unix-Befehle
awk -v FIELDWIDTHS='34 2 3 2 2 1 2 2 1 1 2 2 1 2 2 2 65' -v OFS=',' '($2=='07'){ $1=$1 ''; print }' </filepath/pipe.txt | cut --delimiter=',' --fields=2- > /filepath/parsed.csv
Natürlich kann ich dann lesen Sie die parsed.csv
Datei in, aber ich versuche, es zu tun ein Schuss mit pipe()
. wenn ich Rohr dieses in R versuchen, es hängt:
a = read.csv(pipe("awk -v FIELDWIDTHS='34 2 3 2 2 1 2 2 1 1 2 2 1 2 2 2 65' -v OFS=',' '($2=='07'){ $1=$1 ''; print }'
</filepath/pipe.txt
| cut --delimiter=',' --fields=2-")
, header=F, colClasses="character")
Bitte fügen Sie SOLVED nicht zu Ihrem Titel hinzu, sondern kreuzen Sie die richtige Antwort an ... Außerdem möchten Sie vielleicht Ihren Namen von dem standardmäßig generierten zu einem aussagekräftigeren ändern (aber das ist nur meine Meinung). –
Paul, ich habe "gelöst" hinzugefügt, weil es keine "richtige" Antwort gab. Das Problem lag in der Frage selbst, über welche Erkenntnis ich selbst stolperte. Bitte beachten Sie die folgenden Hinweise. – user702432
Ich verstehe die Situation. Ich würde dir empfehlen, deine Antwort so zu bearbeiten, dass sie eine Beschreibung von dem enthält, was dein Problem gelöst hat, und diese Antwort akzeptierst. Dies ist für SO vollkommen akzeptabel. –