Acting on results from a grep command


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Acting on results from a grep command
# 1  
Old 12-14-2010
Acting on results from a grep command

Hi,

I am currently reading a tar file and searching for a particular word using
Code:
 grep

e.g. Plane. At the moment, if a sentence is found with the word "Plane" the sentence itself is piped to another file.

Here is the code i am using;

Code:
for jar in 'cat jar_file.tar'; do
 
tar -tvf jar_file.tar | grep Plane >> $FILTER_RESULT
 
done

What i would like to do is ignore any sentence with the word "Plane" in it and pipe any other line in the file to a seperate file e.g.

Code:
for jar in 'cat jar_file.tar'; do
 
tar -tvf jar_file.tar | grep Plane 
 
if (current result of grep does not contain "Plane")
 
          non-plane sentence >> new_file
fi
 
done

I was thinking of using a test case and checking the exit status of grep but i cant get my head around the logic of transferring a non-plane sentence to a new file.

If i have made anything unclear please let me know

Any help would be greatly appreciated.

Thanks in advance
# 2  
Old 12-14-2010
Hi, This:
Code:
for jar in 'cat jar_file.tar'; do
..
done

Has no effect whatsoever. You can leave those two lines out IMO.
Code:
tar -tvf jar_file.tar | grep -v Plane > new_file

This User Gave Thanks to Scrutinizer For This Post:
# 3  
Old 12-14-2010
Quote:
for jar in 'cat jar_file.tar'; do

tar -tvf jar_file.tar | grep Plane >> $FILTER_RESULT

done
I don't think that this script does what you think.

The for-do-done loop does nothing except cause the "tar -tvf" to run once. The same would happen if the for-do-done loop was not there.

The "tar -tvf jar_file.tar" command produces a detailed directory list of the contents of the archive file "jar_file.tar". Please try it and post the output from the command. What we suggest next depends on whether the archive file contains only relative path names.


The "grep Plane" statement is therefore only searching a directory list not the files in the archive.

(Just seen Scrutinizer's post).

As we will need to extract each file in order to run the search we need to be sure that none of the filenames clash with files in the current directory and that the archive was created with relative path names.
This User Gave Thanks to methyl For This Post:
# 4  
Old 12-14-2010
Thanks guys that really helped Smilie
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Grep command to show the number of results

Hi I wanted to know if there is an option in grep command to show the number of results (not the number of lines of findings). Thanks (14 Replies)
Discussion started by: abdossamad2003
14 Replies

2. Shell Programming and Scripting

Cannot get results from grep command

Hi, i have a file hello.log which as several line that look like the below 2015-12-07 09:46:56 0:339 120.111.12.12 POST /helloWorld 2015-12-07 09:46:57 0:439 122.111.12.12 POST /helloWorld .... when i grep expecting to see results like the below. ... (6 Replies)
Discussion started by: mohtashims
6 Replies

3. Shell Programming and Scripting

How to concatenate grep results?

hi, let's say we have input in files test1.txt, test2.txt, text3.txt ... ... ... ('...' means more files & lines not just 'dots') test1.txt has: A B C D ... ... ... test2.txt has A B C D ... ... ... (4 Replies)
Discussion started by: msonoth
4 Replies

4. Shell Programming and Scripting

Read command acting erratically

I have been trying to use read in a script with issues so I tried some things on the command line. $ echo "testing 123" | read x ; echo $xand $ echo "testing 123" | read -r x ; echo $xare only producing any output after being invoked the first time after rebooting the machine. I also got into... (14 Replies)
Discussion started by: Michael Stora
14 Replies

5. Shell Programming and Scripting

How to analyse results of grep

Hi all, I'm working with a peice of software that runs on Linux that allows planning trips in cars through maps. This software has different variations depending on the type of car, e.g. BMW, Audi, Hyundai, etc... Each variation has a dependency on common external components that are not... (1 Reply)
Discussion started by: emoshaya
1 Replies

6. Shell Programming and Scripting

Grep no results

Hello guys, I have been looking around but can't find the answer to my problem: If the grep command displays no results, print "no results have been found" and increment x. But if the grep command find something, do nothing. if echo "no results have been found $x" x=`expr $x + 1 `... (3 Replies)
Discussion started by: Benou
3 Replies

7. UNIX for Dummies Questions & Answers

Pipe results of Grep Command to LS Comand

I'm using the command grep -l XYZ to get a list of files containing the string XYZ. Then I using the comand ls -l ABC to get the create date timestamp of the each file. I've tried combining the comands using the pipe command, grep -l XYZ | ls -l, but its not working. What am I doing wrong? (3 Replies)
Discussion started by: jhtate
3 Replies

8. UNIX for Dummies Questions & Answers

My ps -ef|grep command results are chopped off

On our one HP-UX 11i box, we have some very long paths defined. When I want to check on our user processes running, the resulting paths are chopped off. /xyz/abc/123/......./server/b is really a process running in the ..../server/bin directory. Is this a terminal problem or buffer length... (1 Reply)
Discussion started by: bsp18974
1 Replies

9. UNIX for Dummies Questions & Answers

List grep results

Hi I need to search for matching strings in a database and I want to print out all files that matches in "detail", which means that I want the output to contain datum of last saving. I only get the grep function tp print the actual file names which is not enough since the database is to large... (14 Replies)
Discussion started by: slire
14 Replies

10. Shell Programming and Scripting

diffrent results between command line and scripted grep

When I type a command at the command line it supplies one result and the exact same command in a script egrep '^01|^02|^03|^04' file > fileout count = 29353 same count in the script yields a count of 23492 is there any reason this could be happening. (1 Reply)
Discussion started by: r1500
1 Replies
Login or Register to Ask a Question