LINUX.ORG.RU

тупим вместе с sed

 ,


0

1

Всех приветствую.

Есть такая не сложная задача:

 
Из такого вывода:

[root@localhost:~]# racoonctl -s /var/racoon/racoon.sock ss isakmp
Destination            Cookies                           Created
89.208.102.86.500      d0a641ed0aa7bfe9:7ae3428b08fab146 2013-02-04 15:32:18

вытащить только IP и дату (можно отдельными запросами)

Написал такой не сложный велосипед, но ничего не получается с датой:

[root@localhost:~]# racoonctl -s /var/racoon/racoon.sock ss isakmp | sed -ne 's/^\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\).*/\1/p'
89.208.102.86

[root@localhost:~]# racoonctl -s /var/racoon/racoon.sock ss isakmp | sed -ne 's/^.*\([0-9]\{4\}\(\-[0-9]\{2\}\)\{2\}\  \([0-9]\{2\}:\)\{2\}[0-9]\{2\}\)$/\2/p'
[root@localhost:~]# 

подскажите пожалуйста, где накосячил ? (конец рабочего дня, плохо соображаю ...)

ещё знаю что кучу экранировании скобок \(\) и \{\} можно упростить с помощью флага -r, было бы приятно увидеть насколько правильнее...

Заранее спасибо.


derlaft@archous /tmp % cat t
Destination            Cookies                           Created
89.208.102.86.500      d0a641ed0aa7bfe9:7ae3428b08fab146 2013-02-04 15:32:18
derlaft@archous /tmp % cat t | sed -n '2p' | awk '{print $1}'
89.208.102.86.500
derlaft@archous /tmp % cat t | sed -n '2p' | awk '{print $3}'
2013-02-04
derlafff ★★★★★
()
$ awk '/[0-9]/ {print $1}' ./data
89.208.102.86.500
$ awk '/[0-9]/ {print $3 " " $4}' ./data
2013-02-04 15:32:18

/thread

anonymous
()
Ответ на: комментарий от derlafff

Именно такими вариантами через awk я раньше и пользовался, но хотелось через sed, просто для себя, так сказать - потешить личное самолюбие.

Aidjek
() автор топика
Ответ на: комментарий от derlafff

Да то, что раз запёр сюда авк, будь добр его и используй:

$ echo 'aa aa aa
bbb bbb
ccc cc c' |awk 'FNR==2{print;exit}'
bbb bbb
Я уже не говорю про cat file |prog вместо prog file

anonymous
()
Ответ на: комментарий от anonymous

может кому то будет интересно:

DATE
racoonctl -s /var/racoon/racoon.sock ss isakmp | sed -rne 's/^.*([0-9]{4}(\-[0-9]{2}){2} )/\1/p'
2013-02-04 15:32:18


IP
racoonctl -s /var/racoon/racoon.sock ss isakmp | sed -rne 's/^(([0-9]{1,3}\.){3}[0-9]{1,3}).*/\1/p'
89.208.102.86
Aidjek
() автор топика
Ответ на: комментарий от anonymous

FNR==2

фу как некрасиво

Я уже не говорю про cat file |prog вместо prog file

Вот и не говори, он всё равно с команды будет получать выхлоп

derlafff ★★★★★
()
Ответ на: комментарий от derlafff

пони
фу как некрасиво

Гомик штоле? Давно уже надо ввести тесты на право пользвания пк.

он всё равно с команды будет получать выхлоп

Ну в добавок у тебя помутнение рассудка — прежде чем пытаться писать ответ попытайся сформулировать мысль.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.