Als «awk» getaggte Fragen

awk ist eine spezielle, interpretierte Programmiersprache zum Extrahieren und Berichten von Daten.

1
Warum führt die Verwendung von doppelten Anführungszeichen zum Einschließen der Aktionsanweisungen von awk zu anderen Ergebnissen als die Verwendung von einfachen Anführungszeichen zum Einschließen?
Wenn ich einfache Anführungszeichen verwende, um die Aktionsanweisung von awk einzuschließen, funktioniert dies wie erwartet: $ dpkg -l | grep "linux\-[a-z]*\-" | awk {'print $2'} linux-headers-3.13.0-27 linux-headers-3.13.0-27-generic linux-headers-3.14.4-031404 linux-headers-3.14.4-031404-generic linux-headers-generic linux-image-3.13.0-27-generic linux-image-3.14.4-031404-generic linux-image-extra-3.13.0-27-generic linux-image-generic linux-libc-dev:i386 linux-sound-base Wenn ich sie jedoch in doppelte Anführungszeichen setze, wird die gesamte Zeile anstelle der …

1
awk: Druckt nur Linien, die nach einem bestimmten Schutzlinienmuster kommen
Betrachten Sie diese Datei: #!/usr/bin/env bash cat > example_file.txt <<EOL |dms,wew,qwqw| |m|head1| |3,4,6| |3e,2,23| |m|head2| |xw,12,2123| |23,d,213| |23,22q,2skl| |m|head1| |dljs,wqpw,2;a| |dllw,w1p,1q;a| EOL Hin und wieder gibt es ein Schutzmuster: eine Linie, die beginnt mit: |m| (Ja, die erste Zeile der Datei muss kein Schutzmuster sein.) Jetzt möchte ich nur die …

4
Wie füge ich mit sed für jede Zeile einen anderen Header ein?
Ich muss eine Textdatei mit 770 Zeilen ändern und für jede eine andere Überschrift hinzufügen. Ich habe beispielsweise Folgendes: CWGAGATCGGAAGAGCGGTTCAGCAGGAATGCCGAG ACACTCTTTCCCTACACGACGCTCTTCCGATCTAGGC ACACTCTTTCCCTACACGACGCTCTTCCGATCTGATT ACACTCTTTCCCTACACGACGCTCTTCCGATCTACCGT Und ich möchte dies erhalten: >seq1 CWGAGATCGGAAGAGCGGTTCAGCAGGAATGCCGAG >seq2 ACACTCTTTCCCTACACGACGCTCTTCCGATCTAGGC >seq3 ACACTCTTTCCCTACACGACGCTCTTCCGATCTGATT >seq4 ACACTCTTTCCCTACACGACGCTCTTCCGATCTACCGT

3
Protokolldatei nach Datum teilen
Ich habe eine Protokolldatei mit diesem Protokollformat: ###<Aug 8, 2016 11:59:05 PM> different text ... different text ###<Aug 15, 2016 9:10:55 AM> different text ... ... ... different text ###<Aug 22, 2016 10:02:17 PM> different text ... ... ... ... different text ###<Sep 1, 2016 1:00:01 AM> different text ###<Sep …

3
Wie finde und ersetze ich eine Zeichenkette durch Erhöhen ihres numerischen Teils?
Meine Eingabedatei ist, ami21 ami65 ami67 ami66 ami88 ami76 ami29 ami55 ami54 ami32 Mit einer einzigen Befehlszeile brauche ich die Ausgabe als, ami22 ami66 ami68 ami67 ami89 ami77 ami30 ami56 ami55 ami33 Ich habe den Befehl verwendet awk -vRS=ami '{$0=$0+1;ORS=RT}++n' inputfile > outputfile aber ich habe die ausgabedatei als ami21ami65ami67ami66ami88ami76ami29ami55ami54ami32 …
3 command-line  sed  awk 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.