Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-06-17 15:47:09

  kondzio14 - Użytkownik

kondzio14
Użytkownik
Zarejestrowany: 2008-02-14

[BASH] sprawdzenie czy po wybranej linii kolejna to pusta

Witam,

Mam plik tego typu:


TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST
TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST
TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST
Linia tekstu SFFFF 01-10-2005...



Linia tekstu SFFFF 20-10-2005...



Linia tekstu SFFFF 02-02-2006...
jakis ciag znakow



Linia tekstu SFFFF 01-10-2008...



Linia tekstu SFFFF 15-11-2008...



Linia tekstu SFFFF 07-02-2009...



Linia tekstu SFFFF 23-02-2009...


TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST
TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST
TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST TEKST[/quote]
Interesuje mnie blok zaczynający się od "Linia tekstu" oraz kończący tak samo.

Pytanie:
Jak sprawdzić, że po linii zaczynającej sięod "Linia tekstu" kolejny wiersz nie jest pusty?

Offline

 

#2  2013-06-17 16:01:36

  megabajt - Użytkownik

megabajt
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2012-03-07

Re: [BASH] sprawdzenie czy po wybranej linii kolejna to pusta

Kod:

cat plik | grep "zadany_szukany_ciag_znakow" -A 1 | tail -1 | grep -q ^$ && echo linia pusta || echo linia nie-pusta

Offline

 

#3  2013-06-18 10:39:07

  kondzio14 - Użytkownik

kondzio14
Użytkownik
Zarejestrowany: 2008-02-14

Re: [BASH] sprawdzenie czy po wybranej linii kolejna to pusta

Nie sądziłem, że to będzie jakaś różnica. Aczkolwiek host to nie Debian, nawet nie Linux... To AIX :) Niestety w ichniejszym grep'ie nie zostały zaimplementowane opcje -A, ani -B.

Offline

 

#4  2013-06-18 12:29:05

  megabajt - Użytkownik

megabajt
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2012-03-07

Re: [BASH] sprawdzenie czy po wybranej linii kolejna to pusta

http://stackoverflow.com/questions/5062882/on-aix-grep-b-a-m-does-not-work-any-solution-with-sed-or-awk

Kod:

cat plik | awk 'c&&c--;/zadany_ciag_znakow/{print $0;c=1}{p=$0}' | tail -1 | grep -q ^$ && echo linia pusta || echo linia nie-pusta

Tylko jeżeli nie będzie danej linijki to wypule linia nie-pusta. Trzeba dopieścić i dostosować pod konkretne zadanie.

Ostatnio edytowany przez megabajt (2013-06-18 12:37:09)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.017 seconds, 18 queries executed ]

Informacje debugowania

Time (s) Query
0.00008 SET CHARSET latin2
0.00003 SET NAMES latin2
0.00108 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.59.89' WHERE u.id=1
0.00100 UPDATE punbb_online SET logged=1732478396 WHERE ident='3.145.59.89'
0.00055 SELECT * FROM punbb_online WHERE logged<1732478096
0.00080 DELETE FROM punbb_online WHERE ident='13.58.207.196'
0.00073 DELETE FROM punbb_online WHERE ident='18.117.166.193'
0.00066 DELETE FROM punbb_online WHERE ident='18.117.75.53'
0.00076 DELETE FROM punbb_online WHERE ident='18.191.9.9'
0.00078 DELETE FROM punbb_online WHERE ident='18.220.200.197'
0.00314 DELETE FROM punbb_online WHERE ident='185.191.171.1'
0.00075 DELETE FROM punbb_online WHERE ident='3.133.109.251'
0.00069 DELETE FROM punbb_online WHERE ident='3.139.98.10'
0.00075 DELETE FROM punbb_online WHERE ident='3.145.164.47'
0.00092 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=23755 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00175 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=23755 ORDER BY p.id LIMIT 0,25
0.00099 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23755
Total query time: 0.01551 s