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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
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
cat plik | grep "zadany_szukany_ciag_znakow" -A 1 | tail -1 | grep -q ^$ && echo linia pusta || echo linia nie-pusta
Offline
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
http://stackoverflow.com/questions/5062882/on-aix-grep-b-a-m-does-not-work-any-solution-with-sed-or-awk
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
Strony: 1
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00094 | 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.103.169' WHERE u.id=1 |
0.00079 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.103.169', 1732485210) |
0.00054 | SELECT * FROM punbb_online WHERE logged<1732484910 |
0.00064 | DELETE FROM punbb_online WHERE ident='3.128.201.207' |
0.00078 | DELETE FROM punbb_online WHERE ident='85.208.96.196' |
0.00069 | SELECT topic_id FROM punbb_posts WHERE id=235014 |
0.00009 | SELECT id FROM punbb_posts WHERE topic_id=23755 ORDER BY posted |
0.00061 | 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.00172 | 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.00273 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23755 |
Total query time: 0.00971 s |