Linux Erklärbär zu awk gesucht
Hi,
warum funktioniert folgendes *nicht*:
FS="/backups"; SIZE=$(df -P | awk '$6==$FS {print $2}'); echo $SIZE
So (ohne $FS) gehts jedoch:
SIZE=$(df -P | awk '$6=="/backups" {print $2}'); echo $SIZE
Ich will das in einem Script verwenden uns würde gern mit der Variablen $FS arbeiten.
Wieso kann awk das $FS nicht verarbeiten?
Ich habe alle Varianten durch, die mir sinnvoll erschein inkl. Escaping der "" und mit und ohne usw...
warum funktioniert folgendes *nicht*:
FS="/backups"; SIZE=$(df -P | awk '$6==$FS {print $2}'); echo $SIZE
So (ohne $FS) gehts jedoch:
SIZE=$(df -P | awk '$6=="/backups" {print $2}'); echo $SIZE
Ich will das in einem Script verwenden uns würde gern mit der Variablen $FS arbeiten.
Wieso kann awk das $FS nicht verarbeiten?
Ich habe alle Varianten durch, die mir sinnvoll erschein inkl. Escaping der "" und mit und ohne usw...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 278237
Url: https://administrator.de/contentid/278237
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
5 Kommentare
Neuester Kommentar
Hey,
FS ist eine vordefinierte awk-Variable.
http://grymoire.com/Unix/Awk.html#uh-15
Gruß, Endoro
PS: das ist aber nicht die Erklärung :/
Sondern der Ausdruck
PPS: meine Güte, das ist auch nicht die richtige Erklärung :/
Bash-Variable richtig "escapen":
FS ist eine vordefinierte awk-Variable.
http://grymoire.com/Unix/Awk.html#uh-15
Gruß, Endoro
PS: das ist aber nicht die Erklärung :/
Sondern der Ausdruck
$FS
würde nach einer Feldvariablen mit der Nummer FS
vergeblich suchen.PPS: meine Güte, das ist auch nicht die richtige Erklärung :/
Bash-Variable richtig "escapen":
FS="/backups"
SIZE=$(df -P | awk '$6=="'"$FS"'" {print $2}')
echo $SIZE
Moin,
http://tldp.org/LDP/abs/html/special-chars.html
Also
oder
sollte problemlos klappen.
Gruß jodel32
Ich hatte mal ein Problem mit einer Raute "#" in einem FTP Passwort.
Richtig angewendet kein Problem:http://tldp.org/LDP/abs/html/special-chars.html
echo "The # here does not begin a comment."
echo 'The # here does not begin a comment.'
echo The \# here does not begin a comment.
echo The # here begins a comment.
PW='pass#wort'
ncftpput -u ich -p "$PW" -h some.host
ncftpput -u ich -p 'pass#wort' -h some.host
Gruß jodel32