2006-06-14 22:03
by Vasil KolevГАДОВЕ!
(пиша това след като ми се наложи да пиша гнусен workaround)
Google ще ви каже, че ако със sed искате да изтриете празните редове от един файл, се прави със s/^$//d . Да, ама НЕ, ако ползвате GNU sed, който върви с Debian stable, в който тая опция (/d) я няма – нито като да се поддържа, нито се споменава в man-а, и точно това не може да се направи. А аз пък искам да мога да дам един цял script на sed, той да го изпълни, и ако има грешка, да мога да го разбера веднага, не да правя магии през 5 файла и т.н…
Интересното е, че на *BSD тоя проблем го няма,и на sed 4.0.9 на други дистрибуции. ГАДОВЕ.
Tags: работа
June 14th, 2006 at 22:55
Ами s/^$//d звучи малко глупаво, защото казва: “замени празните редове с нищо и ги изтрий”. Правилното изречение и синтаксиса, който работи е: “ако реда е празен, го изртрий” или казано на sed: /^$/d
June 14th, 2006 at 23:03
Проба с това:
vasil@lyra:~$ sed ‘s/^$/d’ /home/vasil/a
sed: -e expression #1, char 6: unterminated `s’ command
June 15th, 2006 at 00:21
пак си не си пил достатъчно, че да можеш да се докопаш до компютър
пробвай само с:
$ sed /^$/d /home/vasil/a
June 15th, 2006 at 08:21
Става и със grep:
pn@juniper:~$ cat empty.lines
my
empty
lines
test
pn@juniper:~$ grep -v ^$ empty.lines
my
empty
lines
test
pn@juniper:~$ grep –version
grep (GNU grep) 2.5.1
June 15th, 2006 at 08:44
Пейо – да, така стана. Все пак ми е чудно защо s/ не може да хваща цял ред…
Teh – знам, аз сега с grep съм го направил, но сигурно ще ползвам нещото от Пейо в крайна сметка.
June 15th, 2006 at 22:45
Снощи проект “Мурджо” взе своите първи жертви. Maniax успя да приложи grep , sed , cat ,
bash voodoo върху authorized_keys на две машини така че файла стана 0 bytes.
Моля всички , а и Google в това число , които му предлагат помощ първо да тестват
на свойте си машини.
Някакси не е приятно да ти се обадят в 12:30 вечерта с въпроса “Защо не мога да се логна
на example.com ?” а ти да си на 5-тия Jack Daniel’s с бира.
Искам да предупредя общественоста : ВНИМАНИЕ !! ПРОЕК МУРДЖО ТРЯБВА ДА БЪДЕ СПРЯН ДОКАТО Е ОЩЕ РАНО !!!
@teh
Обади ми се :-)) Днеска цял ден те търся :-))
June 15th, 2006 at 22:50
!!! BREAKING NEWS !!!
Eкипът ни успя да намери снимка на една от жертвите ! Моля тези от вас които са със слаби сърца да не гледат по надолу !
-rw-r–r– 1 root root 0 2006-06-14 11:59 authorized_keys
June 16th, 2006 at 13:18
Аз познавам Мурджо!
Тъпан
June 16th, 2006 at 17:15
sed, та sed. манияксе, манияксее.. tr до дупка брато
June 19th, 2006 at 11:32
Не се научи значи…
import sys; sys.stdout.write('\n'.join([l for l in map(lambda x: x.strip(), sys.stdin.readlines()) if len(l)])+'\n')
June 19th, 2006 at 15:33
Маняхсе, Маняхсе. ?
June 19th, 2006 at 15:36
oops…
Маняхсе, Маняхсе. Не се ли научи, че магиите са само за вещите в занаята (вещери)?
June 23rd, 2006 at 16:51
А туй опита ли го sed ‘/^$/d’
June 23rd, 2006 at 22:48
Бах заспал съм вече го има това ;-)