Sponsored Content
Top Forums Shell Programming and Scripting Get group of consecutive uppercase words using gawk Post 302645337 by neutronscott on Wednesday 23rd of May 2012 08:55:58 AM
Old 05-23-2012
Quote:
Originally Posted by louisJ
But anchal_khare you are right, I have an uppercase at the begining of sentences, is there a way to exclude it in the netronscott's command ?
What do you mean? Mine would only match what is after 'The Thing'. In his, he checks the line for 'The Thing' but then starts at the beginning rather than the start of the occurance of 'The Thing' for capital words..


Quote:
Originally Posted by louisJ
And another thing, how to get all the matching expressions in the line, not only the first one?
This would require a loop. Continuing with the match method:

Code:
#!/usr/bin/awk -f
 
{
  offset=0
  while (match(substr($0,offset+1),/The Thing([[:space:]]*[[:upper:]][^[:space:]]*)*/))
  {
    print substr($0,RSTART+offset,RLENGTH)
    offset+=RSTART+RLENGTH
  }
}

tested with this input i made up:

Code:
[mute@geek ~/temp/louisJ]$ cat input
some would say The Thing He Wants and The Thing She Gives Him are not The Thing That Matters Most. :(
This Thing and The Thing like Another Thing
I HAVE NOT The Thing TO DO WITH IT! The Thing Is Not Here it is there
 
[mute@geek ~/temp/louisJ]$ ./script input
The Thing He Wants
The Thing She Gives Him
The Thing That Matters Most.
The Thing
The Thing TO DO WITH IT! The Thing Is Not Here

if you want 'The Thing' to also allow matches like 'THE THING' you can group the successive letters like so: T[Hh][Ee] T[Hh][Ii][Nn][Gg]

another thing (heh): In the last example, the longest match is taken, so you see the 2nd 'The Thing' stays a part of one match. Do you want it split at the second occurance of 'The Thing' within another 'The Thing' ?

Last edited by neutronscott; 05-23-2012 at 10:01 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Removing uppercase words from textfiles

I have the task of removing all uppercase words from csv files, mit 10000's lines. I think it shoud be possible with regex's, something like "s/{2,}//g" but I can't get it work with sed or Vi. It would also be possible to script in ksh, awk, perl or python. example this "this is a EXAMPLE... (5 Replies)
Discussion started by: frieling
5 Replies

2. Shell Programming and Scripting

Shell script to find out words, replace them and count words

hello, i 'd like your help about a bash script which: 1. finds inside the html file (it is attached with my post) the code number of the Latest Stable Kernel, 2.finds the link which leads to the download location of the Latest Stable Kernel version, (the right link should lead to the file... (3 Replies)
Discussion started by: alex83
3 Replies

3. Shell Programming and Scripting

finding and removing 2 identical consecutive words in a text

i want to write a shell script that correct a text file.for example if i have the input file: "john has has 2 apples anne has 3 oranges oranges" i want that the output file be like this: "john has 2 apples anne has 3 oranges" i've tried to read line by line from input text file into array... (11 Replies)
Discussion started by: cocostaec
11 Replies

4. Shell Programming and Scripting

Finding consecutive same words in a file

Hi All, I tried this but I am having trouble formulating this: I have a file that looks like this (this is a sample file words can be different): network router frame network router computer card host computer card One can see that in this file "network" and "router" occur... (3 Replies)
Discussion started by: shoaibjameel123
3 Replies

5. Shell Programming and Scripting

matching group of words

Hi, I am stuck with a problem, will be thankful for your guidance and help. I have two files. Each line is a group of words with first word as group Id. eg. 'gp1' in File1 and 'grp1' in File2. <File1> gp1 : xyz xys3 syt2 ssx itt kty gp2 : syt2 kgk iti op2 gp3 : ppy yt5 itt sky... (11 Replies)
Discussion started by: mira
11 Replies

6. Shell Programming and Scripting

How to move a group of words before another group of words

Hi I have a file containing lines with several consecutive words starting with a capital letter (i.e. Zuvaia Flex), followed by "de The New Foul", and I would like to put "The New Foul" before the group with capital letters and delete "de" From the line: Le short femme Zuvaia Flex de The... (2 Replies)
Discussion started by: louisJ
2 Replies

7. Shell Programming and Scripting

Match groups of capital words using gawk

Hi I'd like to extract from a text file, using gawk, the groups of words beginning with a capital letter, that are not at the begining of a sentence (i.e. Not after a full stop and a pace ". "), including special characters like registered or trademark (® or ™ ). For example I would like to... (1 Reply)
Discussion started by: louisJ
1 Replies

8. Shell Programming and Scripting

Gawk gensub, match capital words and lowercase words

Hi I have strings like these : Vengeance mitt Men Vengeance gloves Women Quatro Windstopper Etip gloves Quatro Windstopper Etip gloves Girls Thermobite hooded jacket Thermobite Triclimate snow jacket Boys Thermobite Triclimate snow jacket and I would like to get the lower case words at... (2 Replies)
Discussion started by: louisJ
2 Replies

9. Shell Programming and Scripting

Search words in any quote position and then change the words

hi, i need to replace all words in any quote position and then need to change the words inside the file thousand of raw. textfile data : "Ninguno","Confirma","JuicioABC" "JuicioCOMP","Recurso","JuicioABC" "JuicioDELL","Nulidad","Nosino" "Solidade","JuicioEUR","Segundo" need... (1 Reply)
Discussion started by: benjietambling
1 Replies

10. Shell Programming and Scripting

Replace particular words in file based on if finds another words in that line

Hi All, I need one help to replace particular words in file based on if finds another words in that file . i.e. my self is peter@king. i am staying at north sydney. we all are peter@king. How to replace peter to sham if it finds @king in any line of that file. Please help me... (8 Replies)
Discussion started by: Rajib Podder
8 Replies
newgrp(1)						      General Commands Manual							 newgrp(1)

NAME
newgrp - change effective group ID sg - execute command with different group ID SYNOPSIS
newgrp [-l] [group] sg group -c command DESCRIPTION
The newgrp command changes the user's real and effetive group ID by replacing the current shell with a new shell. A new shell is launched even if an error occours. A password is requested if the group has a password and the user is not listed in the group file as being a member of that group. The pass- word can be changed with the gpasswd(1) command. If the new effective group ID is not in the supplementary group list, newgrp will add the new group ID to the supplementary list, too. With no operands and options, newgrp changes the user's group IDs (real and effective) back to the group specified in password and group file. The sg command works like the newgrp command, except that it executes the given command with /bin/sh and upon exit the group ID of the cur- rent shell is not changed. OPTIONS
-l, --login reinitialize the environment as if the user logged in. --help Print a help list. -u, --usage Print a short usage message. -v, --version Print program version. SEE ALSO
gpasswd(1), group(5), passwd(1), passwd(5), su(1) AUTHOR
Thorsten Kukuk <kukuk@suse.de> pwdutils April 2004 newgrp(1)
All times are GMT -4. The time now is 05:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy