Sponsored Content
Top Forums Shell Programming and Scripting How to grep the contents inside a tar file Post 302485480 by rbatte1 on Wednesday 5th of January 2011 10:06:26 AM
Old 01-05-2011
The command tar -tvf one.tar will only list the contents of the archive, not the contents of the contents? Smilie Sorry. Not the best phrasing there.

It's like a library having a list of the books on the shelves that you can scan through, but it won't be able to find the phrases of text actually in the books themselves.

If you need to have critical things accessible in this way, you may need to create yourself some sort of a reference index for the critical entries. Otherwise, you would need to extract the files back to disk and then run the grep on the files before tidying them away, but there usually isn't space to do that and there is a lot of I/O to do too.

I supppose it might be possible to stream through the tar file looking for the file markers and the string you are searchign for, but that would surely be C code written and you would have to understand the tar file structure - which I don't.




Robin
Liverpool/Blackburn
UK
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

how to strip out the contents of file using grep

Hi, I am receving a file from remote site which has EDI information for 830, 862 and 997 and I want to extect the data for 997 using grep's or any other methods. The data look like this: ISA~000 0000-0001-1000~997 AK1000~m 000~IEA~M ISA~000 0000-0001-1000~849 000~IEA~M ISA~000... (11 Replies)
Discussion started by: isingh786
11 Replies

2. AIX

how to take tar backup of the contents of a file

Hi I have a file named files.2.backup which holds the location of some directory and file i,e $ cat files.2.backup /d01/app/oracle/product/7.3.2/dbs/fortest_syst_01.dbf /d01/app/oracle/product/7.3.2/dbs/fortest_temp_01.dbf /d01/app/oracle/product/7.3.2/dbs/fortestdata_01.dbf... (5 Replies)
Discussion started by: sumanbangladesh
5 Replies

3. Shell Programming and Scripting

find file and print only contents with a hit by grep

Hi, can someone help me. I have some files and search a content in this files. If i have a hit I will print a output: filename:content But are more hits in one file: The output is always filename:content E.G. Seach about "three" file1 {one, two, three, four, three} file2... (5 Replies)
Discussion started by: Timmää
5 Replies

4. Solaris

Listing Contents of tar.gz file

Hi fellows, Can you please share any command with which I can list down the file names inside a tar.gz file. I have tried with these possibilities but in vain. bash-3.00$ tar -ztvf file.tar.gz tar: z: unknown function modifier bash-3.00$ tar ztvf file.tar.gz tar: z: unknown function... (1 Reply)
Discussion started by: Zaib
1 Replies

5. Shell Programming and Scripting

Grep a pattern given in one file at other file and display its corresponding contents as output.

***************************************** Right now i have this current system. I have two files say xxx.txt and yyy.txt. xxx.txt is with list of patterns within double quotes. Eg. "this is the line1" "this is the line2" The yyy.txt with lot of lines. eg: "This is a test message which... (7 Replies)
Discussion started by: abinash
7 Replies

6. Shell Programming and Scripting

Help in searching a particular string in a file name (not inside the file contents)

Dear Unix Gurus, I am new to shell scripting and in the process of learing. I am trying to find whether a file name has today's date in MMDDYYYY format. I am using the following code and it doesn't seem like working. #!/usr/bin/ksh today=$(date '+%m%d%Y') echo today: $today file=`find... (4 Replies)
Discussion started by: shankar1dada
4 Replies

7. Shell Programming and Scripting

script to grep a pattern from file compare contents with another file and replace

Hi All, Need help on this I have 2 files one file file1 which has several entries as : define service{ hostgroup_name !host1,!host5,!host6,.* service_description check_nrpe } define service{ hostgroup_name !host2,!host4,!host6,.* service_description check_opt } another... (2 Replies)
Discussion started by: namitai
2 Replies

8. Shell Programming and Scripting

unzip a file then further check contents inside it

Dear all I need to unzip a file then further it has many folders to perform tak inside each folder. What Task I need to perform I'm able to do it but once I unzip a folder then I'm not able to do cd folder/ into it. I have written following code for it for i in $( ls | grep Run_20111016 ) do... (2 Replies)
Discussion started by: Bhalinder
2 Replies

9. Shell Programming and Scripting

Searching a file inside a .tar.gz file by date

Hi, I would like to ask if there is a way to search for a file inside a .tar.gz file without extracting it? If there is, is there a way to search for that file by date? Thanks! (4 Replies)
Discussion started by: erin00
4 Replies

10. UNIX for Dummies Questions & Answers

Problem to grep contents from a file

hi, I'm trying to grep content from one file in another file. The file that I'm searching into is large and hence I need to temporarily unzip it first. gzip -dc ALL.chr2.phase3_shapeit2_mvncall_integrated_v5a.20130502.genotypes.vcf.gz | grep '169997024\|190670539\|128051369' >... (2 Replies)
Discussion started by: janshamsani
2 Replies
tar(n)								 Tar file handling							    tar(n)

__________________________________________________________________________________________________________________________________________________

NAME
tar - Tar file creation, extraction & manipulation SYNOPSIS
package require Tcl 8.4 package require tar ?0.4? ::tar::contents tarball ::tar::stat tarball ?file? ::tar::untar tarball args ::tar::get tarball fileName ::tar::create tarball files args ::tar::add tarball files args ::tar::remove tarball files _________________________________________________________________ DESCRIPTION
::tar::contents tarball Returns a list of the files contained in tarball. The order is not sorted and depends on the order files were stored in the archive. ::tar::stat tarball ?file? Returns a nested dict containing information on the named ?file? in tarball, or all files if none is specified. The top level are pairs of filename and info. The info is a dict with the keys "mode uid gid size mtime type linkname uname gname devmajor devminor % ::tar::stat tarball.tar foo.jpg {mode 0644 uid 1000 gid 0 size 7580 mtime 811903867 type file linkname {} uname user gname wheel devmajor 0 devminor 0} ::tar::untar tarball args Extracts tarball. -file and -glob limit the extraction to files which exactly match or pattern match the given argument. No error is thrown if no files match. Returns a list of filenames extracted and the file size. The size will be null for non regular files. Leading path seperators are stripped so paths will always be relative. -dir dirName Directory to extract to. Uses pwd if none is specified -file fileName Only extract the file with this name. The name is matched against the complete path stored in the archive including directo- ries. -glob pattern Only extract files patching this glob style pattern. The pattern is matched against the complete path stored in the archive. -nooverwrite Dont overwrite files that already exist -nomtime Leave the file modification time as the current time instead of setting it to the value in the archive. -noperms In Unix, leave the file permissions as the current umask instead of setting them to the values in the archive. % foreach {file size} [::tar::untar tarball.tar -glob *.jpg] { puts "Extracted $file ($size bytes)" } ::tar::get tarball fileName Returns the contents of fileName from the tarball % set readme [::tar::get tarball.tar doc/README] { % puts $readme } ::tar::create tarball files args Creates a new tar file containing the files. files must be specified as a single argument which is a proper list of filenames. -dereference Normally create will store links as an actual link pointing at a file that may or may not exist in the archive. Specifying this option will cause the actual file point to by the link to be stored instead. % ::tar::create new.tar [glob -nocomplain file*] % ::tar::contents new.tar file1 file2 file3 ::tar::add tarball files args Appends files to the end of the existing tarball. files must be specified as a single argument which is a proper list of filenames. -dereference Normally add will store links as an actual link pointing at a file that may or may not exist in the archive. Specifying this option will cause the actual file point to by the link to be stored instead. ::tar::remove tarball files Removes files from the tarball. No error will result if the file does not exist in the tarball. Directory write permission and free disk space equivalent to at least the size of the tarball will be needed. % ::tar::remove new.tar {file2 file3} % ::tar::contents new.tar file3 BUGS, IDEAS, FEEDBACK This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category tar of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for either package and/or documentation. KEYWORDS
archive, tape archive, tar tar 0.4 tar(n)
All times are GMT -4. The time now is 09:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy