- Дописать вычисленное в конец строки, КуКу, 16:15 , 25-Июн-12 (1)
Разрешаем дописывай.А если по делу, то вопрос в чем? Пробывали писать на каком языке?
- Дописать вычисленное в конец строки, Аноним, 17:48 , 25-Июн-12 (2)
> Разрешаем дописывай. > А если по делу, то вопрос в чем? > Пробывали писать на каком языке?$ echo "CONNECT: 25.06.2012 14:37:52 172.16.17.134" | something.sh CONNECT: 25.06.2012 14:37:52 172.16.17.134 [36]
- Дописать вычисленное в конец строки, КуКу, 23:52 , 25-Июн-12 (3)
>> Разрешаем дописывай. >> А если по делу, то вопрос в чем? >> Пробывали писать на каком языке? > $ echo "CONNECT: 25.06.2012 14:37:52 172.16.17.134" | something.sh > CONNECT: 25.06.2012 14:37:52 172.16.17.134 [36] Информативно, предполагаю что писать нужно на sh/bash. Может покажете текст наработок "something.sh"? Алгоритм, как я полагаю, прост. На входе ловим строку, с помощью awk вычленяем нужные числа в переменные, проводим математические операции с помощью expr и возвращаем исходную строку с дополнением.
- Дописать вычисленное в конец строки, LSTemp, 00:40 , 26-Июн-12 (4)
> Алгоритм, как я полагаю, прост. > На входе ловим строку, с помощью awk вычленяем нужные числа в переменные, > проводим математические операции с помощью expr и возвращаем исходную строку с > дополнением.и форматируем вывод с помощью sed.
- Дописать вычисленное в конец строки, LSTemp, 03:17 , 26-Июн-12 (7) +1
>[оверквотинг удален] >>> А если по делу, то вопрос в чем? >>> Пробывали писать на каком языке? >> $ echo "CONNECT: 25.06.2012 14:37:52 172.16.17.134" | something.sh >> CONNECT: 25.06.2012 14:37:52 172.16.17.134 [36] > Информативно, предполагаю что писать нужно на sh/bash. > Может покажете текст наработок "something.sh"? > Алгоритм, как я полагаю, прост. > На входе ловим строку, с помощью awk вычленяем нужные числа в переменные, > проводим математические операции с помощью expr и возвращаем исходную строку с > дополнением.одного awk хватит на все. конвеер никто не отменял.
- Дописать вычисленное в конец строки, LSTemp, 03:20 , 26-Июн-12 (8)
>[оверквотинг удален] >>>> Пробывали писать на каком языке? >>> $ echo "CONNECT: 25.06.2012 14:37:52 172.16.17.134" | something.sh >>> CONNECT: 25.06.2012 14:37:52 172.16.17.134 [36] >> Информативно, предполагаю что писать нужно на sh/bash. >> Может покажете текст наработок "something.sh"? >> Алгоритм, как я полагаю, прост. >> На входе ловим строку, с помощью awk вычленяем нужные числа в переменные, >> проводим математические операции с помощью expr и возвращаем исходную строку с >> дополнением. > одного awk хватит на все. конвеер никто не отменял. - Дописать вычисленное в конец строки, ЫЫЫ, 03:29 , 26-Июн-12 (9)
>[оверквотинг удален] >>>> Пробывали писать на каком языке? >>> $ echo "CONNECT: 25.06.2012 14:37:52 172.16.17.134" | something.sh >>> CONNECT: 25.06.2012 14:37:52 172.16.17.134 [36] >> Информативно, предполагаю что писать нужно на sh/bash. >> Может покажете текст наработок "something.sh"? >> Алгоритм, как я полагаю, прост. >> На входе ловим строку, с помощью awk вычленяем нужные числа в переменные, >> проводим математические операции с помощью expr и возвращаем исходную строку с >> дополнением. > одного awk хватит на все. конвеер никто не отменял. echo "CONNECT: 25.06.2012 14:37:52 172.16.17.134 DATA" | \ tr "." " " | \ cut -d" " -f8,9 | \ awk '{z=0; x=$1; if ($2 > 127) { z=1 }; y=(1+2*x+z); print y}'; 36
1. FS="." - нельзя, т.к. после последнего октета пробел. 2. Ежу понятно, что после cut | tr входная строка уничтожается, по этому дописывать не куда. 3. Заменить все пробелы на _, потом FS=".", потом вернуть пробелы - маразм.
- Дописать вычисленное в конец строки, LSTemp, 03:48 , 26-Июн-12 (10)
>[оверквотинг удален] >> одного awk хватит на все. конвеер никто не отменял. > > echo "CONNECT: 25.06.2012 14:37:52 172.16.17.134 DATA" | \ > tr "." " " | \ > cut -d" " -f8,9 | \ > awk '{z=0; x=$1; if ($2 > 127) > { z=1 }; y=(1+2*x+z); print y}'; > 36 > > 1. FS="." - нельзя, т.к. после последнего октета пробел.не соизволите ли Вы Сударь, пояснить ход Ваше витиеватой мысли, дабы Мы, простые Смертные, смогли бы наконец-то озариться величием Вашего вдохновения, и смогли понять О КАКОЙ ХЕРНЕ СЕЙЧАС РЕЧЬ ШЛА? > 2. Ежу понятно, что после cut | tr входная строка уничтожается, по может тогда у ежа спросите? > этому дописывать не куда. ну разве только он уже попоисал... > 3. Заменить все пробелы на _, потом FS=".", потом вернуть пробелы > - маразм. теперь Вы что-то начинаете понимать...
- Дописать вычисленное в конец строки, ЫЫЫ, 03:59 , 26-Июн-12 (11)
> может тогда у ежа спросите?Всё спасибо, все свободны, а тебе отдельный респект, за терпение моей гадской морды ;)
$ echo "CONNECT: 25.06.2012 14:37:52 172.16.17.134 DATA" | \ awk -F"." '{z=0; x=$5; if ($6 > 127) { z=1 }; y=(1+2*x+z); printf "%s %d\n", $NL, y}'CONNECT: 25.06.2012 14:37:52 172.16.17.134 DATA 36
- Дописать вычисленное в конец строки, LSTemp, 04:03 , 26-Июн-12 (12)
>> может тогда у ежа спросите? > Всё спасибо, все свободны, а тебе отдельный респект, за терпение моей гадской > морды ;) > > echo "CONNECT: 25.06.2012 14:37:52 172.16.17.134 DATA" | \ > awk -F"." '{z=0; x=$5; if ($6 > > 127) { z=1 }; y=(1+2*x+z); printf "%s %d\n", $NL, y}' > обожаю гадские морды. особенно такие умные, как ты ). рад что все получилось (хотя я несколько другой подход к решению предполагал. твой - даже лучше).
- Дописать вычисленное в конец строки, LSTemp, 04:14 , 26-Июн-12 (13)
>[оверквотинг удален] >> Всё спасибо, все свободны, а тебе отдельный респект, за терпение моей гадской >> морды ;) >> >> echo "CONNECT: 25.06.2012 14:37:52 172.16.17.134 DATA" | \ >> awk -F"." '{z=0; x=$5; if ($6 > >> 127) { z=1 }; y=(1+2*x+z); printf "%s %d\n", $NL, y}' >> > обожаю гадские морды. особенно такие умные, как ты ). рад что все > получилось (хотя я несколько другой подход к решению предполагал. твой > - даже лучше).- оптимизация awk-скрипта - та же задача ч/з sed по желанию.
- Дописать вычисленное в конец строки, izvorot, 16:17 , 06-Июл-12 (15)
> Есть строки вида: > CONNECT: 25.06.2012 14:37:52 172.16.17.134 > надо дописать в конец этой строки номер подсети: как уравнение (1 + > 2*SUBNET+(HOST ? 1 : 0) > SUBNET - это третий октет > HOST - 4-й октет > Т.е. для строки выше это должно выглядеть как-то так > уравнение (1+2*17+1) и получаемая строка > CONNECT: 25.06.2012 14:37:52 172.16.17.34 [36] вконце дописать номер подсети??? Это типа маску??? Я совсем не понимаю цифру [36] -что это?
|