LINUX.ORG.RU

Ответ на: комментарий от sg3des

Вопрос, почему такой вариант не полностью работает (надо писать в файл только последнее значение выдачи ping, без единиц измерения)

ping 192.168.1.1 > ping | sed = ping | sed -e 's\^.*time=\\; s/ms.*//' > ping

Если выполнить без

> ping
в терминале будет то что надо. А вот в файл не уходит.

mad_ved ()
$ echo 'txtxtxtxtxtxtxtxtxtxtxt "qweqweqwe" rfrfrfrfrf' | perl -nale 'print($F[1])'
anonymous ()
Ответ на: комментарий от mad_ved

буферизация же

awk умеет fflush() , а гнутый sed опцию "-u", для остальных утилит иногда помогает (stdbuf)

anonymous ()

Сколько можно штамповать темы об одном и том же? Спрашивай всё в одной. И вообще иди читать man sed, там же всё написано.. Ты уже столько людям мозги паришь одной своей задачей, что уже мог наизусть этот выучить и практикой закрепить за это время.

Psych218 ★★★★★ ()
Последнее исправление: Psych218 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Спасибо, всё получилось, но раньше я хрень написал какую то, вот правильно:

ping 192.168.1.1 | sed -u 's\^.*time=\\; s/ms.*//' > ping
ping 192.168.1.1 | awk -F "[\ ,=]" '{print $10; fflush()}' > pingawk
mad_ved ()
echo txtxtxtxtxtxtxtxtxtxtxt \"qweqweqwe\" rfrfrfrfrf | sed 's/^[^"]*\(".\+\)\("\)[^"]*$/\1\2/'
echo txtxtxtxtxtxtxtxtxtxtxt \"qwe\"q\"\"weqwe\" rfrfrfrfrf | sed 's/^[^"]*\(".\+\)\("\)[^"]*$/\1\2/'
pS ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.