Это моя супер сложная программа awk:
#!/usr/bin/awk -f
BEGIN {
count = 0
}
{ if ( $1 == "r" )
{
nom = $2
ip= $7
numerolinea = NR
}
else {
where = match($0, "Fast")
if ( where )
{
count++
printf( "\t%5i %20s %15s\n",count,nom,ip )
}
}
}
Итак, как вы можете видеть, nom
и ip
обрабатываются как строки, каждая из которых имеет свою длину. Отрывок вывода это было бы так:
| 111 cutemyserver1 93.27.255.24 |
| 112 thisisthenamemyserver2 60.231.2.255 |
| 113 anotherlongmyserver3 191.44.192.260 |
| 114 myserver4 173.374.76.183 |
| 115 formyserver5 145.146.321.8 |
| 116 myserver6 64.31.359.70 |
| 117 foofoomyserver7 245.16.19.338 |
Как вы также можете видеть, count
является целым числом. Моя цель - count
, чтобы выровнять как nom
и ip
, из-за этого:
| 8 myserver6 91.580.144.231 |
| 9 narnd 163.11.783.10 |
| 10 erreer 59.194.0.353 |
| 11 111111 178.70.644.91 |
Но обман с %5i
не работает.
Спасибо