File count lines in a compressed file


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users File count lines in a compressed file
# 1  
Old 12-21-2017
File count lines in a compressed file

count lines in a compressed file ( Unix)

My Zip file having multiple files, without ever writing the (decompressed) file to disk., how i can check the line counts for each of the file

I tried using zcat <*.zip> | wc -l , this is reading only the first file and ignoring other files in the Zip folder . Appreciate if any one can provide the solution for this.

Last edited by rbatte1; 12-22-2017 at 07:19 AM.. Reason: Added ICODE tags
# 2  
Old 12-21-2017
Without knowing what OS you're using we can only make guesss about which utilities associated with zip are installed on your system. On many systems the following might work for you:
Code:
unzip -Z1 file.zip | while IFS= read -r file
do	printf '%8d %s\n' "$(unzip -p file.zip "$file"|wc -l)" "$file"
done

where you replace file.zip in both places about with the pathname of your Zip file. This will produce output similar to the output produced by:
Code:
wc -l file...

where file... is replaced by the pathnames of the files in your Zip file, except that the total line produce by wc will be omitted.

Last edited by Don Cragun; 12-21-2017 at 11:15 PM.. Reason: Fix accidental line break in printf command.
This User Gave Thanks to Don Cragun For This Post:
# 3  
Old 12-22-2017
Thanks a lot Don, It worked. Thanks for your time and Help.

How to Read Multiple Files in a Loop ?

My input file having 10 ZIP files.

Happy Holidays.
# 4  
Old 12-22-2017
Quote:
Originally Posted by kartikirans
Thanks a lot Don, It worked. Thanks for your time and Help.

How to Read Multiple Files in a Loop ?

My input file having 10 ZIP files.

Happy Holidays.
I don't know what you mean by: "My input file having 10 ZIP files."
Assuming that you mean that you have ten Zip files in your current working directory all with names ending in .zip, you could try putting my earlier code in a loop something like:
Code:
for zip in *.zip
do	printf 'Processing Zip file "%s"\n' "$zip"
	unzip -Z1 "$zip" | while IFS= read -r file
	do	printf '%8d %s\n' "$(unzip -p "$zip" "$file"|wc -l)" "$file"
	done
done

If you mean that you have a file (in this example named ziplist.txt that contains pathnames of your Zip files with one Zip file on each line in that file, it would be something more like:
Code:
while IFS= read zip
do	printf 'Processing Zip file "%s"\n' "$zip"
	unzip -Z1 "$zip" | while IFS= read -r file
	do	printf '%8d %s\n' "$(unzip -p "$zip" "$file"|wc -l)" "$file"
	done
done < ziplist.txt

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

If file exists count lines

Hello, Currently I have: FILE=/home/file.txt if ; then echo "File $FILE exists" else echo "File $FILE does not exist" fi exit I would like to make it such that if the file *does* exist, it performs a wc -l count of the file and then if the count is greater than 3 performs... (3 Replies)
Discussion started by: holyearth
3 Replies

2. Shell Programming and Scripting

count lines in file to variable

I have a text file in which you need to identify the number of lines that looks like this: awk '{x + +} END {print x}' filename The problem is that I do not know how this data to any variable in which then need to continue to work in a cycle for .. do not know someone help? Sorry for my... (4 Replies)
Discussion started by: gizmo16
4 Replies

3. Solaris

WC -l does not count all the lines in a file? HELP

I have a file that I need to merge with another like file. Normally I remove the trailer reocrd and merge the file and update the trailer record of the second file. I did a WC -l on the first file before I removed the trailer record, and again afterwards. The count came back the same. I opened the... (6 Replies)
Discussion started by: Harleyrci
6 Replies

4. Shell Programming and Scripting

KSH SHELL: problem calculation number of lines inside compressed file

Hi Gurus, I am working with a korn shell script to simplify some operations of calculation number of lines inside compressed file. The called function (inside a cycle) is the following: ######################################### # F.ne: CheckCount #########################################... (3 Replies)
Discussion started by: GERMANICO
3 Replies

5. Shell Programming and Scripting

Trying to do a count on multiple lines in a file

Guys I am having a problem with being able to do a count of entries in a file. What I am trying to get a count of the total number of members that are listed in the files. So I need to pull the number of the lines after members. I tried using sed but it only seems to count the first... (7 Replies)
Discussion started by: scottzx7rr
7 Replies

6. Shell Programming and Scripting

Count the number of lines in a file with one condition

Hi Everyone, 1.txt Mon 08 Feb 2010 12:30:44 AM MYT;1265560244;e164:0000116047275464;T;Central;0; Mon 08 Feb 2010 12:30:46 AM MYT;1265560246;e164:0000116047275464;T;Central;0; Mon 08 Feb 2010 12:30:48 AM MYT;1265560248;e164:0000116047275464;T;Central;0; Mon 08 Feb 2010 12:30:50 AM... (1 Reply)
Discussion started by: jimmy_y
1 Replies

7. UNIX for Dummies Questions & Answers

Count of Number of Lines in a File

Dear Members, I want to count the number of lines in a file; for that i am using the following command : FILE_LINE_COUNT=`wc -l $INT_IN/$RAW_FILE_NAME` if i do an echo on FILE_LINE_COUNT then i get 241 /home/data/testfile.txt I don't want the directory path to be displayed. Variable... (1 Reply)
Discussion started by: sandeep_1105
1 Replies

8. Shell Programming and Scripting

Count lines between two patterns inside a file

Hi, Im doing a script to find the number of lines included inside a file newly. These lines are in between #ifdef FLAG1 and #else or #endif or #else and #endif. I tried like this, awk '/#ifdef Flag1/,/#e/{print}' aa.c | wc -l awk '/#ifndef Flag1/,/#endif/{print}' aa.c | awk... (6 Replies)
Discussion started by: priyadarshini
6 Replies

9. Programming

to count the number of commented lines in a file

can someone guide me how to have a C pgm to count the number of commented lines? (3 Replies)
Discussion started by: naan
3 Replies

10. Shell Programming and Scripting

count lines of file

dear all, i want to count the lines of a flat(text) file using awk.i have tried with {print NR} but its taking lot of time for a big file like 2GB file size. so i want better efficiency...so can any body please help me with some other and better awk code? Regards, Pankaj (15 Replies)
Discussion started by: panknil
15 Replies
Login or Register to Ask a Question