Mailing List Archive
tlug.jp Mailing List tlug archive tlug Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][tlug] line filtering (was Re: Unidentified subject!)
- Date: Wed, 07 Aug 2002 09:38:01 +0000
- From: "Shimpei Yamashita" <shimpei@example.com>
- Subject: [tlug] line filtering (was Re: Unidentified subject!)
On 8/7/2002, "big0" <big0@example.com> wrote: >>I have a file that contains lines like this: > >>1 some >>text with >>C/R's >>in annoying places >>2 more text >>with CRs >>3 text text text >>4 text text > >>I'd like to concat the lines that don't have leading numbers in to one long line > >Use gawk or mawk, because awk have some limitations: > > ------------->8----------------- > >gawk -F" " 'BEGIN { numexp = "[[:digit:]]+"; tmp="" } >NR > 0 { > if ($1 ~ numexp && tmp != "") { print tmp; tmp="" } >} >{ tmp = tmp" "$0; }' > > ------------->8----------------- Oh, that's gross. And it's also wrong. (Try it! It doesn't work.) Here's a better one. ------------->8----------------- perl -ne 'chomp; print unless /^\d/;' ------------->8----------------- If you want a separator between each line, do this instead: ------------->8----------------- perl -ne 'chomp; print $_, " " unless /^\d/;' ------------->8----------------- If that extra space at the end really bothers you, you can try this: ------------->8----------------- perl -e 'print join(" ", map {chomp;$_} grep(!/^\d/,<>));' ------------->8----------------- That one keeps the whole file in memory, though. If you have a really big file and you still want that separator, try this instead: ------------->8----------------- perl -e 'while(<>) { unless (/^\d/) { if ($needspace > 0) { print " " } else { $needspace = 1 } chomp; print $_; } }' ------------->8----------------- Shimpei.
- Follow-Ups:
- References:
- [no subject]
- From: big0
Home | Main Index | Thread Index
- Prev by Date: Re: [tlug] Parallel port driving me nuts
- Next by Date: [tlug] Duplicating a MySQL database
- Previous by thread: [no subject]
- Next by thread: [tlug] Re: line filtering (was Re: Unidentified subject!)
- Index(es):
Home Page Mailing List Linux and Japan TLUG Members Links