Hallo ubuntuusers,
ich würde mir gerne mittels des awk-Programmes ein Dokument erzeugen:
#! /bin/bash #variable=grep 'wert' readme |rev| cut -d" " -f1|rev # --> liefert 0.68 for ii in {1..2} do awk -i inplace 'BEGIN{ printf "Hallo";}{printf "%s ",$1; b++} b==5 {print ""; b=0} END {printf "\nBye\n"}' data$ii done
Und zwar liest mein Programm mittels
{printf "%s ",$1; b++} b==5 {print ""; b=0}
die 1. Spalte meines Datafiles aus und verwandelt sie in Zeilen der Länge 5. Das alles funktioniert ohne Probleme.
Jedoch hätte ich noch gerne an den Beginn des Datafiles Hallo geschrieben und ans Ende Bye. Das funktioniert leider nicht, diese beiden Strings werden im Terminal angezeigt und nicht im file, wo liegt mein Denkfehler, bzw. was muss ich ändern?
Dann, wenn das klappt, würde ich noch gerne eine Variable im Datafile an den Anfang des Dokumentes printen: ich habe gelesen, dass man dafür den Flag -v setzen muss und die Variable nach diesem Schema einfügen kann (weil es bei mir noch nicht klappt, habe ich die Variable auskommentiert):
awk -v var="$variable" 'BEGIN {print var}'
Kann ich dann auch mit awk Rechenoperationen durchführen, z.B.
BEGIN {print var/3}
? Das wäre mir sehr wichtig!
Danke im Voraus!