netstat -an | grep hypen echo $ variable hypen | wc -lcollecte la valeur retournée par netstat dans une variable
Comment collecter la valeur de netstat -an | grep echo $variable
| wc -l à un compteur_variable.
netstat -an | grep hypen echo $ variable hypen | wc -lcollecte la valeur retournée par netstat dans une variable
Comment collecter la valeur de netstat -an | grep echo $variable
| wc -l à un compteur_variable.
Utilisez des backticks pour une portabilité maximale:
conn_count=`netstat -an | grep ${variable} | wc -l`
Si vous avez une coquille plus moderne, comme bash, vous pouvez utiliser $()
à la place:
conn_count=$(netstat -an | grep ${variable} | wc -l)
notation $()
est préférable car il est plus facile de nid:
foo=$(netstat -an | grep $(head /path/fo/foo))
$ variable = "abc | efg | xyz rst | ghf | tcg" pour i dans $ variable do do_count = $ (netstat -an | grep $ (echo $ {i} | couper -d '|' -f3) | wc -l) fait voulez trouver le netstat du troisième champ et le collecter à un variable – Kimi
Utilisez l'échappement "backticks" du sous-shell, si vous voulez être en mesure de l'utiliser pour sh, cendres, et des variantes de celui-ci:
thevariable=`netstat -an | grep echo $variable | wc -l`
Si vous accès garanti à bash ou zsh, vous pouvez utiliser la syntaxe $()
à la place:
thevariable=$(netstat -an | grep echo $variable | wc -l)
Je pense que le premier fonctionne également avec (t) csh, mais je ne suis pas sûr car je ne les utilise pas.
Cela fera pour chaque valeur entre le tube caractères:
variable="abc|efg|xyz rst|ghf|tcg"
saveIFS=$IFS
IFS='|'
for i in $variable
do
Conn_count=$(netstat -an | grep "$i" | wc -l)
done
IFS=$saveIFS
Cela fera pour que la troisième valeur:
variable="abc|efg|xyz rst|ghf|tcg"
saveIFS=$IFS
IFS='|'
i=($variable)
IFS=$saveIFS
Conn_count=$(netstat -an | grep "${i[2]}" | wc -l)
@all, '| wc -l' après 'grep' devrait bien sûr être' grep ... -c', voir l'utilisation inutile de 'wc -l' award: http://partmaps.org/era/unix/award.html#wc – Wrikken