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:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
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
2. UNIX for Dummies Questions & Answers
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
3. UNIX for Dummies Questions & Answers
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
4. UNIX for Dummies Questions & Answers
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
5. Shell Programming and Scripting
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
6. Shell Programming and Scripting
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
7. Shell Programming and Scripting
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
8. Shell Programming and Scripting
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
9. Shell Programming and Scripting
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
10. UNIX for Beginners Questions & Answers
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
LEARN ABOUT MOJAVE
ptargrep
PTARGREP(1) Perl Programmers Reference Guide PTARGREP(1)
NAME
ptargrep - Apply pattern matching to the contents of files in a tar archive
SYNOPSIS
ptargrep [options] <pattern> <tar file> ...
Options:
--basename|-b ignore directory paths from archive
--ignore-case|-i do case-insensitive pattern matching
--list-only|-l list matching filenames rather than extracting matches
--verbose|-v write debugging message to STDERR
--help|-? detailed help message
DESCRIPTION
This utility allows you to apply pattern matching to the contents of files contained in a tar archive. You might use this to identify all
files in an archive which contain lines matching the specified pattern and either print out the pathnames or extract the files.
The pattern will be used as a Perl regular expression (as opposed to a simple grep regex).
Multiple tar archive filenames can be specified - they will each be processed in turn.
OPTIONS
--basename (alias -b)
When matching files are extracted, ignore the directory path from the archive and write to the current directory using the basename of
the file from the archive. Beware: if two matching files in the archive have the same basename, the second file extracted will
overwrite the first.
--ignore-case (alias -i)
Make pattern matching case-insensitive.
--list-only (alias -l)
Print the pathname of each matching file from the archive to STDOUT. Without this option, the default behaviour is to extract each
matching file.
--verbose (alias -v)
Log debugging info to STDERR.
--help (alias -?)
Display this documentation.
COPYRIGHT
Copyright 2010 Grant McLean <grantm@cpan.org>
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.18.2 2018-08-17 PTARGREP(1)