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...
Please also mark the comments that contributed to the solution of the article
Content-Key: 278237
Url: https://administrator.de/contentid/278237
Printed on: May 15, 2024 at 02:05 o'clock
5 Comments
Latest comment
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