AWK ist eine interpretierte Programmiersprache, die für die Textverarbeitung entwickelt wurde und normalerweise als Tool zur Datenextraktion und Berichterstellung verwendet wird. AWK wird hauptsächlich mit Unix-Systemen verwendet.
Wie finde und ersetze ich jedes Vorkommen von: subdomainA.example.com mit subdomainB.example.com in jeder Textdatei unter dem /home/www/Verzeichnisbaum rekursiv?
Ich muss oft einen Prozess während der Programmierung beenden. Ich mache es jetzt so: [~]$ ps aux | grep 'python csp_build.py' user 5124 1.0 0.3 214588 13852 pts/4 Sl+ 11:19 0:00 python csp_build.py user 5373 0.0 0.0 8096 960 pts/6 S+ 11:20 0:00 grep python csp_build.py [~]$ kill 5124 Wie …
Gibt es einen "kanonischen" Weg, das zu tun? Ich habe verwendet, head -n | tail -1was den Trick macht, aber ich habe mich gefragt, ob es ein Bash-Tool gibt, das speziell eine Zeile (oder einen Zeilenbereich) aus einer Datei extrahiert. Mit "kanonisch" meine ich ein Programm, dessen Hauptfunktion dies ist.
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 6 Jahren . Was ist der Unterschied zwischen awk und sed? …
Diese Zeile funktionierte, bis ich im zweiten Feld Leerzeichen hatte. svn status | grep '\!' | gawk '{print $2;}' > removedProjs Gibt es eine Möglichkeit, awk alles in $ 2 oder höher drucken zu lassen? ($ 3, $ 4 .. bis wir keine Spalten mehr haben?) Ich sollte wohl hinzufügen, …
Ich habe einige Möglichkeiten gefunden, externe Shell-Variablen an ein awkSkript zu übergeben, bin aber verwirrt über 'und ". Zuerst habe ich es mit einem Shell-Skript versucht: $ v=123test $ echo $v 123test $ echo "$v" 123test Dann versuchte awk: $ awk 'BEGIN{print "'$v'"}' $ 123test $ awk 'BEGIN{print '"$v"'}' $ …
Ich möchte die Zeilen einer Textdatei zufällig mischen und eine neue Datei erstellen. Die Datei kann mehrere tausend Zeilen enthalten. Wie kann ich das mit cat, awk, cut, etc?
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …
Wenn ich einen awk-Befehl habe pattern { ... } und Muster verwendet eine Erfassungsgruppe. Wie kann ich auf die im Block erfasste Zeichenfolge zugreifen?
grep -A1 'blah' logfile Dank dieses Befehls für jede Zeile, in der 'blah' enthalten ist, erhalte ich die Ausgabe der Zeile, die 'blah' enthält, und die nächste Zeile, die in der Protokolldatei folgt. Es mag einfach sein, aber ich kann keinen Weg finden, die Zeile mit 'blah' wegzulassen und nur …
Ich habe eine Datei, die folgende Zeilen enthält: /logs/tc0001/tomcat/tomcat7.1/conf/catalina.properties:app.env.server.name = demo.example.com /logs/tc0001/tomcat/tomcat7.2/conf/catalina.properties:app.env.server.name = quest.example.com /logs/tc0001/tomcat/tomcat7.5/conf/catalina.properties:app.env.server.name = www.example.com In der obigen Ausgabe möchte ich 3 Felder extrahieren (Nummer 2, 4 und das letzte *.example.com). Ich erhalte die folgende Ausgabe: cat file | awk -F'/' '{print $3 "\t" $5}' tc0001 tomcat7.1 tc0001 …
Ich habe eine Datei, die mehrere tausend Zahlen enthält, jede in einer eigenen Zeile: 34 42 11 6 2 99 ... Ich möchte ein Skript schreiben, das die Summe aller Zahlen in der Datei druckt. Ich habe eine Lösung, aber sie ist nicht sehr effizient. (Die Ausführung dauert einige Minuten.) …
Ich möchte, dass die Variable sum / NR in jeder Iteration nebeneinander gedruckt wird. Wie vermeiden wir, dass awk in jeder Iteration Zeilenumbrüche druckt? In meinem Code wird standardmäßig in jeder Iteration eine neue Zeile gedruckt for file in cg_c ep_c is_c tau xhpl printf "\n $file" >> to-plot.xls for …
So teilen Sie die Zeichenfolge, wenn sie Pipe-Symbole enthält |. Ich möchte sie teilen, um im Array zu sein. Ich habe es versucht echo "12:23:11" | awk '{split($0,a,":"); print a[3] a[2] a[1]}' Welches funktioniert gut. Wenn meine Zeichenfolge wie folgt "12|23|11"ist, wie teile ich sie dann in ein Array auf?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.