Ich versuche, alle 2,4,8,16 usw. Zeilen einer Datei mit vielen Zeilen und vielen Spalten zu drucken.Drucken Zeilen Nummer 2, 4, 8, 16 ... mit awk
Dies ist, was ich versucht:
awk 'BEGIN {N = 2}
{
{if (NR == N) {print; }}
N = N*2
}' infile > outfile
ist jedoch nichts an den outfile geschrieben werden. Was fehlt mir?
Hier sind die Inhalte einer Probe infile:
1 10
2 20
3 30
4 40
5 50
6 60
7 70
8 80
9 90
10 100
Die erwartete Ausgabe
2 20
4 40
8 80
Eine Datei namens outfile erstellt, aber in es mit nichts.
Sie sind die Grundlagen der Sprache awk fehlt. Lesen Sie das Buch Effective Awk Programming, 4. Auflage, von Arnold Robbins. Allerdings sollten Sie wahrscheinlich eine Ausgabe sehen, aber wenn Sie keine [mcve] einschließlich prägnanter, testbarer Beispieleingabe und erwarteter Ausgabe veröffentlichen, können wir Ihnen nicht helfen. –
Ich habe ein Beispiel hinzugefügt. Außerdem habe ich jetzt nicht die Zeit, ein ganzes Buch zu lesen. Ich versuche, durch Beispiele im Web zu lernen, und ich sehe nichts falsch daran. – gforce89
Wenn Sie die Sprache oder das Paradigma nicht kennen, woher wissen Sie dann, welche Beispiele Sie im Internet finden, um daraus zu lernen? Meine Erfahrung ist, dass die meisten Online-Beispiele weit weg von der Basis sind und ich werde viele schlechte Gewohnheiten sehr schnell lernen und dann Jahre damit verbringen, zu stolpern und sie dann zu lernen, bevor ich lerne, wie man awk richtig benutzt das Buch aber YMMV Ich nehme so viel Glück! –