perl - calculate the number of lines from particular files


 
Thread Tools Search this Thread
Top Forums Programming perl - calculate the number of lines from particular files
# 1  
Old 07-13-2011
perl - calculate the number of lines from particular files

Hi,

plz see the below code.
here my aim is to calculate the number of lines in unprocessedData.out

if this file contains 40 lines then lastly $linenum should print 40.(except blank lines)

i have tried below code but it giving me the output only one. can anyone help me how to do ?

=============================================
Code:
#!/usr/bin/perl -w
$ARGV[0]||='/home/user01/UnprocessedData.out';
open OR,$ARGV[0];
while (<OR>) {
  next if /^\s*$/;
  $linenum++;
} 
close OR;

=====================================================

regards,
Priya

Last edited by Franklin52; 07-13-2011 at 08:10 AM.. Reason: Please use code tags for code and data samples, thank you
# 2  
Old 07-13-2011
Code:
 
bash-3.00$ ./test.pl
4

bash-3.00$ cat -n UnprocessedData.out
     1  a
     2  b
     3  c
     4  d
     5  
     6  
     7  
     8  
     9  
    10  

bash-3.00$ cat test.pl
#!/usr/bin/perl -w
$ARGV[0]||='/home/user01/UnprocessedData.out';
$linenum=0;
open OR,$ARGV[0];
while (<OR>) {
next if /^\s*$/;
$linenum++;
} 
print "$linenum\n";
close OR;

# 3  
Old 07-13-2011
Hi itkamaraj,

can u plz explain the code

"bash-3.00$ cat test.pl"


and one more question is that if i am taking UnprocessedData.csv

instaed of UnprocessedData.out


then it gives me the correct output using my code. i think it having an problem with ".out" file

i have tried your code also but it giving me the same output as "1"


can u plz write your code repeate.I didnt understand what u have write in UnprocessedData.out??


Thanks...
# 4  
Old 07-13-2011
Code:
 
$: cat -n test
1  a
2  b
3  c
4  d
5  
6  
7  
8  e
9  f
10  
11  
12  g
13  
14  h

$:  perl -e 'while(<>){next if /^\s*$/;$count+=1;} print "$count\n"' test
8

---------- Post updated at 03:04 PM ---------- Previous update was at 02:43 PM ----------

Are you running this script in windows machine ?

---------- Post updated at 03:17 PM ---------- Previous update was at 03:04 PM ----------

$ARGV[0]||='/home/user01/UnprocessedData.out'; --> check any file is passed as argument, if not then take the file /home/user01/UnprocessedData.out
$linenum=0; --> initalize the value to 0
open OR,$ARGV[0]; --> FileHandler OR to open the file
while (<OR>) { --> loop the file upto the last line
next if /^\s*$/; --> skip the next line code if the line is blank
$linenum++; --> once if condition fails, it will increase the variable value (it means, it is not blank line)
} --> end of while loop
print "$linenum\n"; -->print the linenum variable value.
close OR; --> close the fileHandler
# 5  
Old 07-13-2011
Hi,

i have tried but i am not getting the output correctly.

i am using unix server.
# 6  
Old 07-13-2011
Quote:
Originally Posted by pspriyanka
i have tried but i am not getting the output correctly.
Do you get the wrong line count? Do you get an error? Does anything happen at all? You'll have to give us more information if you want useful answers.
# 7  
Old 07-13-2011
On an unrelated note: itkamaraj, I see you 53 character one-liner, and raise you to 27:
Code:
perl -e 'printf"%d\n",(grep{/\S/}<>)+0' test

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Print number of lines for files in directory, also print number of unique lines

I have a directory of files, I can show the number of lines in each file and order them from lowest to highest with: wc -l *|sort 15263 Image.txt 16401 reference.txt 40459 richtexteditor.txt How can I also print the number of unique lines in each file? 15263 1401 Image.txt 16401... (15 Replies)
Discussion started by: spacegoose
15 Replies

2. UNIX for Dummies Questions & Answers

Command to split the files based on the number of lines in it

Hello Friends, Can anyone help me for the below requirement. I am having a file called Input.txt. My requirement is first check the count that is wc -l input.txt If the result of the wc -l Input.txt is less than 10 then don't split the Input.txt file. Where as if Input.txt >= 10 the split... (12 Replies)
Discussion started by: malaya kumar
12 Replies

3. Shell Programming and Scripting

Pasting files with different number of lines

Hi all, I tried to use the paste command to paste two files with different number of lines. e.g. file1 A 1 B 1 C 2 D 2 file2 A 2 B 3 C 4 D 4 E 4 (2 Replies)
Discussion started by: f_o_555
2 Replies

4. Shell Programming and Scripting

How to calculate mean in AWK? line by line several files, thousands of lines

I'm kinda stuck on this one, I have 7 files with 30.000 lines/file like this 050 0.023 0.504336 050 0.024 0.529521 050 0.025 0.538908 050 0.026 0.537035 I want to find the mean line by line of the third column from the files named like this: Stat-f-1.dat .... Stat-f-7.dat Stat-s-1.dat... (8 Replies)
Discussion started by: AriasFco
8 Replies

5. Shell Programming and Scripting

how can i find number of lines in files & subdirectories

how can i find number of lines in files & subdirectories ? (3 Replies)
Discussion started by: pcbuilder
3 Replies

6. Shell Programming and Scripting

perl script on how to count the total number of lines of all the files under a directory

how to count the total number of lines of all the files under a directory using perl script.. I mean if I have 10 files under a directory then I want to count the total number of lines of all the 10 files contain. Please help me in writing a perl script on this. (5 Replies)
Discussion started by: adityam
5 Replies

7. UNIX for Dummies Questions & Answers

Read directory files and count number of lines

Hello, I'm trying to create a BASH file that can read all the files in my working directory and tell me how many words and lines are in that file. I wrote the following code: FILES="*" for f in "$FILES" do echo -e `wc -l -w $f` done My issue is that my file is outputting in one... (4 Replies)
Discussion started by: jl487
4 Replies

8. Shell Programming and Scripting

Script to split files based on number of lines

I am getting a few gzip files into a folder by doing ftp to another server. Once I get them I move them to another location .But before that I need to make sure each gzip is not more than 5000 lines and split it up . The files I get are anywhere from 500 lines to 10000 lines in them and is in gzip... (4 Replies)
Discussion started by: gubbu
4 Replies

9. Shell Programming and Scripting

Number of *.txt files which have over n lines?

Can you help me please? I know that wc -l *.txt gives you the number of lines in each file. But how can i count the files that have over n lines? (4 Replies)
Discussion started by: dark_knight
4 Replies

10. Shell Programming and Scripting

Restore files by lines number!

Hello every 1 Happy new year ;) I have a problem when i've tried to write my shell scripts.. this what i've done Actually, i would like to restore the files that i have deleted by line number for example : 1 : filename1 2: filename2 3: filename3 then i can restore them by... (8 Replies)
Discussion started by: John_Smith
8 Replies
Login or Register to Ask a Question