Sponsored Content
Top Forums Shell Programming and Scripting Another text filtering question Post 302169374 by bakunin on Thursday 21st of February 2008 04:58:56 AM
Old 02-21-2008
Sorry to correct you, vino, but your code will work only in most cases, not in all: if the WordToKeep is the last word in the line it will fail because you require a space after it.

On the first line your code will work, on the second it will fail:

Code:
"crap crap searchword wordtokeep crap"
"crap crap searchword wordtokeep"

It will also fail in cases where the WordToKeep is followed by some punctuation mark like it is the case in texts:

Code:
"crap crap searchword wordtokeep, crap"


I therefore suggest the following enhancement to your code (<spc> and <tab> are characters, only encoded here for readability):

Code:
sed -e "s/.*SearchWord \([^<spc><tab>;,.!?":][^<spc><tab>;,.!?":]*\)/\1/g" file

bakunin
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Filtering text from a string

I'm trying to write a script which prints out the users who are loged in. Printing the output of the "users" command isn't the problem. What I want is to filter out my own username. users | grep -v (username) does not work because the whole line in which username exists is suppressed. If... (5 Replies)
Discussion started by: Cozmic
5 Replies

2. Shell Programming and Scripting

Text formatting question

How can i change the display of a text file containing 4980 167 187 4980 167 187 4980 167 180 4980 167 180 4980 167 179 4980 272 174 (7 Replies)
Discussion started by: aliaa2a
7 Replies

3. Shell Programming and Scripting

filtering text

Hi how can I filter the text using this one. SAMPLE servervmpool -listall|tail -11 ================================================================================ pool number: 112 pool name: Net-Ora-1wk description: Net-Ora-1wk max partially full: 0... (12 Replies)
Discussion started by: kenshinhimura
12 Replies

4. Shell Programming and Scripting

text processing and filtering scripting

Still new to bash. Using debian lenny 5, bash version 3.2.39. I'm working on three scripts. I need help completing them. One script that inputs a plain text file, echo then chop it up into separate whitespace-delimited strings as an output. Not sure how to do this... for example, the... (4 Replies)
Discussion started by: l20N1N
4 Replies

5. Programming

need help with shell script filtering files and sort! newbie question?

Hi folks, I would like to get familiar with shell script programing. The first task is: write a shell script that: scans your home-folder + sub-directory for all txt-files that all users of your group are allowed to read and write then output these files sorted by date of last... (4 Replies)
Discussion started by: rollinator
4 Replies

6. Shell Programming and Scripting

Filtering out text with awk

(0 Replies)
Discussion started by: nilekyle
0 Replies

7. Shell Programming and Scripting

Parsing and filtering multiline text into comma separated line

I have a log file that contains several reports with following format. <Start of delimiter> Report1 header Report1 header continue Report1 header continue Record1 header Record1 header continue Record1 header continue field1 field2 field3 field4 ------... (1 Reply)
Discussion started by: yoda9691
1 Replies

8. Shell Programming and Scripting

text filtering

INPUT FILE: Date: 10-JUN-12 12:00:00 B 0: 00 00 00 00 10 00 16 28 B 120: 00 00 00 39 53 32 86 29 Date: 10-JUN-12 12:00:10 B 0: 00 00 00 00 10 01 11 22 B 120: 00 00 00 29 23 32 16 29 Date: 10-JUN-12 12:00:20 B 0: 00 00 00 00 10 02 17 29 B 120: 00 00 35 51 42 66 14 Date: 10-JUN-12... (5 Replies)
Discussion started by: thibodc
5 Replies

9. Shell Programming and Scripting

Filtering data from text to csv

Hello, Is there a way to filerter data from a text file as shown below to a Column e.g. hostname nfsmount as two separate column. Currently I could get hostname and the mount is appearing below.. using this script #! /bin/bash for i in `cat fqdn.txt` do echo "$i ............ " >>... (3 Replies)
Discussion started by: Cy Pqa
3 Replies

10. UNIX for Beginners Questions & Answers

Filtering text with awk

I need to filter a file that is composed like that: >Cluster 0 0 292nt, >last294258;size=1;... * >Cluster 1 0 292nt, >last111510;size=1;... * 1 290nt, >last136280;size=1;... at -/98.62% 2 292nt, >last217336;size=1;... at +/99.66% 3 292nt, >last280937;size=1;... at -/99.32% >Cluster 2... (6 Replies)
Discussion started by: pedro88
6 Replies
Email::Folder::Mbox(3pm)				User Contributed Perl Documentation				  Email::Folder::Mbox(3pm)

NAME
Email::Folder::Mbox - reads raw RFC822 mails from an mbox file SYNOPSIS
This isa Email::Folder::Reader - read about its API there. DESCRIPTION
Does exactly what it says on the tin - fetches raw RFC822 mails from an mbox. The mbox format is described at http://www.qmail.org/man/man5/mbox.html We attempt to read an mbox as through it's the mboxcl2 variant, falling back to regular mbox mode if there is no "Content-Length" header to be found. OPTIONS The new constructor takes extra options. "eol" This indicates what the line-ending style is to be. The default is " ", but for handling files with mac line-endings you would want to specify "eol => "x0d"" "jwz_From_" The value is taken as a boolean that governs what is used match as a message seperator. If false we use the mutt style /^From S+s+(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)/ /^From (?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)/; If true we use /^From / In deference to this extract from <http://www.jwz.org/doc/content-length.html> Essentially the only safe way to parse that file format is to consider all lines which begin with the characters ``From '' (From-space), which are preceded by a blank line or beginning-of-file, to be the division between messages. That is, the delimiter is " From .* " except for the very first message in the file, where it is "^From .* ". Some people will tell you that you should do stricter parsing on those lines: check for user names and dates and so on. They are wrong. The random crap that has traditionally been dumped into that line is without bound; comparing the first five characters is the only safe and portable thing to do. Usually, but not always, the next token on the line after ``From '' will be a user-id, or email address, or UUCP path, and usually the next thing on the line will be a date specification, in some format, and usually there's nothing after that. But you can't rely on any of this. Defaults to false. "seek_to" Seek to an offset when opening the mbox. When used in combination with ->tell you may be able to resume reading, with a trailing wind. "tell" This returns the current filehandle position in the mbox. AUTHORS
Simon Wistow <simon@thegestalt.org> Richard Clamp <richardc@unixbeard.net> COPYING
Copyright 2003, Simon Wistow Distributed under the same terms as Perl itself. This software is under no warranty and will probably ruin your life, kill your friends, burn your house and bring about the apocolapyse. SEE ALSO
Email::LocalDelivery, Email::Folder perl v5.10.0 2009-07-27 Email::Folder::Mbox(3pm)
All times are GMT -4. The time now is 01:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy