Вернуть значение из awk скрипта

skelet
Дата: 24.03.2010 17:02:00
обратно в шелл, это вообще реально?
--null--
Дата: 24.03.2010 19:48:33
конечно же да. Распечатать и присвоить по ``
ms1980
Дата: 24.03.2010 20:05:09
skelet,

out=`echo 1 | awk '{ print $0 }'`
skelet
Дата: 24.03.2010 21:13:04
--null--
конечно же да. Распечатать и присвоить по ``


это и так понятно.

у смысл такой - awk потоково обрабатывает файл, ищет /dev/shm и заменяет там параметры по умолчанию. Это если найдено значение. В если же нет. то надо просто добавить строку.

Понятно, что можно grep и т.д. но мне бы хотелось удостовериться, что awk не умеет возвращать (хотя можно было бы через статус $? передать... )
--null--
Дата: 24.03.2010 22:16:55
Можно вернуть ``, можно действительно через $? с помощью exit(), можно пообщаться с вызвавшим процессом через fifo канал. А переменные вызвавшего скрипта из awk естественно не изменить и дело совсем не в awk.
skelet
Дата: 25.03.2010 12:41:00
--null--
Можно вернуть ``, можно действительно через $? с помощью exit(), можно пообщаться с вызвавшим процессом через fifo канал. А переменные вызвавшего скрипта из awk естественно не изменить и дело совсем не в awk.


согласен, просто хотелось халявы
skelet
Дата: 25.03.2010 13:57:15
#!/bin/bash

echo "test awk return value"

echo "xxx" > awk '{ exit 6;  } END { exit 44; }'

echo "returned - $?"

не работает в смысле возвращает 0, а не 6 или 44
--null--
Дата: 25.03.2010 14:29:53
потому что не > а |

#!/bin/bash

echo "test awk return value"

echo "xxx" [b]|[/b] awk '{ exit 6;  } END { exit 44; }'

echo "returned - $?"

и всё отлично работает

возвратит конечно же значение из END
skelet
Дата: 25.03.2010 17:10:41
--null--,

спасибо, на будущее учту, а то как-то не сообразил с просонья. А текущая моя реализацию по любому через grep тупо :)
skelet
Дата: 25.03.2010 19:42:45
--null--,

кстати а ещё может вы знаете, реально ли авком распарсить

shmfs /dev/shm tmpfs size=4g 0 0

поле 4g как часть поля siza=4g

т.е. как-бы динамически сменить FS="="

if ($2="/dev/shm" ) {
    # а тут распарсить $4  с учётом разделителя "=" 
}