Код: Выделить всё
user1 xxxxxxx UH 0 1378811 ng3
Или как присвоить результат команды
Код: Выделить всё
netstat -r | awk '/default/ { print $5 }'
Код: Выделить всё
user1 xxxxxxx UH 0 1378811 ng3
Код: Выделить всё
netstat -r | awk '/default/ { print $5 }'
Код: Выделить всё
netstat -r | awk '/default/ { print $5 }' |xargs proga
Код: Выделить всё
netstat -r | awk '/default/ { print $5 }' | xargs x.sh
Код: Выделить всё
peremennaya_plat="netstat -r | awk '/default/ { print $5 }' "
тогда не в одну строкуparadox писал(а):как то так)))Код: Выделить всё
peremennaya_plat="netstat -r | awk '/default/ { print $5 }' "
paradox писал(а):как то так)))Код: Выделить всё
peremennaya_plat="netstat -r | awk '/default/ { print $5 }' "
Код: Выделить всё
peremennaya_plat=$(netstat -r | awk '/default/ { print $5 }' )
Код: Выделить всё
peremennaya_plat=`netstat -r | awk '/default/ { print $5 }' `
через localeconv(3) устроит[1]?levantuev писал(а):спасибо, а еще доп.вопрос, как полученное число например: 4924079 , разделить пробелами, что бы получилось вроде этого: 4 924 079
Код: Выделить всё
$ echo 4924079 | LC_NUMERIC=ru_RU.UTF-8 awk '{ printf ("%'"\'"'d\n", $0) }'
4 924 079
если я не оишбаюсь, этот способ используется и при `sysctl -h'printf(3) писал(а):
- `''
- Decimal conversions (d, u, or i) or the integral portion
of a floating point conversion (f or F) should be
grouped and separated by thousands using the non-mone-
tary separator returned by localeconv(3).
под линей не пашетГость писал(а):Код: Выделить всё
$ echo 4924079 | LC_NUMERIC=ru_RU.UTF-8 awk '{ printf ("%'"\'"'d\n", $0) }'
должно, там обычно стоит lang/gawk на месте awk'а (во FreeBSD используется nawk)gloom писал(а):под линей не пашет
Код: Выделить всё
$ echo 4924079 | LC_NUMERIC=ru_RU.UTF-8 gawk '{ printf ("%'"\'"'d\n", $0) }'
gawk: warning: escape sequence `\'' treated as plain `''
4 924 079
Код: Выделить всё
#! /bin/sh
echo '
3000000000
6748525
755087
378
' |
awk -v OFMT=%.1f '
BEGIN {
h[1] = "Ki"
h[2] = "Mi"
h[3] = "Gi"
h[4] = "Ti"
}
/[[:digit:]]/ {
n=$0
for(i = 0; n > 2^10; i++) {
n /= 2^10
}
if(n > 10)
n = int(n)
print n, h[i] "B"
}
'
Код: Выделить всё
$ ./a.sh
2.8 GiB
6.4 MiB
737 KiB
378 B
Т.е. никто не использует SI-приставки для подсчета байтов.w:Binary prefix писал(а):Most Unix-like systems which use the ls command to display file sizes use powers of 1024 indicated as KB/MB. In Linux, the directory listing tool (ls) has options for decimal file size listings. Microsoft Windows reports file sizes using prefixes in binary meaning but does not use IEC standard prefixes. Prior to Snow Leopard, Apple's Mac OS X reported file sizes in the same way. Since Snow Leopard, file sizes are reported in decimal units.
Код: Выделить всё
#! /usr/bin/awk -f
BEGIN {
OFMT = "%.1f"
split("Ki:Mi:Gi:Ti:Pi:Ei:Zi:Yi", h, ":")
}
/^[[:digit:]]+$/ {
n=$0
for(i = 0; n > 2^10; i++)
n /= 2^10
if(n > 10)
n = int(n)
print n, h[i] "B"
}
/[[:digit:]]+ [[:alpha:]]*B$/ {
n=$1
s=$2
sub("B$", "", s)
for(i = 0; i <= 4; i++)
if(s == h[i])
print n * 2^(10 * i)
}
Код: Выделить всё
$ echo 3000000000 | ./a.awk
2.8 GiB
$ echo 2.8 GiB | ./a.awk
3006477107.2
$ printf "6.4 MiB\n737 KiB\n378 B\n" | ./a.awk
6710886.4
754688
378
пардон? ты считаешь не в байтах? или не видел табличку по ссылке на википедию, кою я выше приводил?levantuev писал(а):10634128 - данное число должно выдавать 10 Гбайт ну или что то приблизительное