Unix help to find blank lines in a file and print numbers on that line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Unix help to find blank lines in a file and print numbers on that line
# 1  
Old 10-09-2009
Unix help to find blank lines in a file and print numbers on that line

Hi,
I would like to know how to solve one of my problems using expert unix commands.

I have a file with occasional blank lines;
for example;

dertu
frthu
fghtu

frtty
frtgy
frgtui

frgtu
ghrye
frhutp
frjuf

I need to edit the file so that the file looks like this;
1
dertu
frthu
fghtu
2
frtty
frtgy
frgtui
3
frgtu
ghrye
frhutp
frjuf
************
That is: I want to grep or find the blank line and sequentially number the blank lines and print that number in the blank space.

Hope you guys understood what I wanted.

Please let me know the best way for doing this;

Lucky Ali
# 2  
Old 10-09-2009
Hi.

Code:
awk '
/^$/ { print ++C; next} 1
' input_file


Last edited by Scott; 10-09-2009 at 05:19 PM.. Reason: removed statement "If I understand you correctly:" as even for me it was quite understandable!
# 3  
Old 10-09-2009
Thank you very much
It worked perfectly
Lucky Ali
# 4  
Old 10-09-2009
Shorter Smilie
Code:
awk '$0=($0)?$0:++c' file

# 5  
Old 10-09-2009
I'm not one to use things like LOL, LMAO, etc. But just for you:

ROFL!!!!

And it's only shorter because you didn't use spaces and your filename was shorter :-)

Shorter:
Code:
awk '$0=($0)?$0:++c' f


Last edited by Scott; 10-09-2009 at 05:47 PM.. Reason: Changed grammatical error "one one" to "not one", thus changing one one to not
# 6  
Old 10-09-2009
Quote:
Originally Posted by scottn
Code:
awk '
/^$/ { print ++C; next} 1
' input_file

Thank you.
Your solution simplified
Code:
awk '!NF{$0=++c}1' file

There is always more than one way to solve a problem Smilie
# 7  
Old 10-09-2009
And that's the beauty of it.

There's a lot to be said for the "concise but readable" option though.

When you can buy a 1.5 TB disk for 139 Swiss Francs, where's the harm in adding some white-space?!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

How to find a string in a line in UNIX file and delete that line and previous 3 lines ?

Hi , i have a file with data as below.This is same file. But actual file contains to many rows. i want to search for a string "Field 039 00" and delete that line and previous 3 lines in that file.. Can some body suggested me how can i do using either sed or awk command ? Field 004... (7 Replies)
Discussion started by: vadlamudy
7 Replies

2. Shell Programming and Scripting

String search and print next all lines in one line until blank line

Dear all I want to search special string in file and then print next all line in one line until blank lines come. Help me plz for same. My input file and desire op file is as under. i/p file: A1/EXT "BSCABD1_21233G1" 757 130823 1157 RADIO X-CEIVER ADMINISTRATION BTS EXTERNAL FAULT ... (7 Replies)
Discussion started by: jaydeep_sadaria
7 Replies

3. Shell Programming and Scripting

Find Special/Null/Control Chars and Print Line Numbers

Hi All, This might be a basic question... I need to write a script to find all/any Speacial/Null/Control Chars and Print Line Numbers from an input file. Output something like Null Characters in File Name at : Line Numbers Line = Print the line Control Characters in File Name at : Line... (2 Replies)
Discussion started by: Kevin Tivoli
2 Replies

4. Shell Programming and Scripting

UNIX command to count blank lines in a file in DOS format

Hi Team, The content of the file is as follows. asdf 234 asdf asdf dsfg gh 67 78 The file is in DOS format (not in Unix Format). The file is transferred to Unix. I need a unix command to check the number of blank lines in a input (comming from Windows). If it is greater than... (4 Replies)
Discussion started by: kmanivan82
4 Replies

5. Shell Programming and Scripting

Find regex, place on individual lines and insert blank line before

Hello, I have a file that I want to be able to insert a new line before every instance of a regex. I can get it to do this for each line that contains the regex, but not for each instance. Contents of infile: Test this 1... Test this 2... Test this 3... Test this 4... Test this... (2 Replies)
Discussion started by: deneuve01
2 Replies

6. Shell Programming and Scripting

Print lines between a regExp & a blank line

Hi, I have a file, say files_list, as below (o/p of ls -R cmd) $ cat files_list /remote/dir/path/to/file: sub-dir1 sub-dir2 sub-dir3 ... /remote/dir/path/to/file/sub-dir1: remote_file1.csv.tgz <blank line 1> /remote/dir/path/to/file/sub-dir2: remote_file2.csv.tgz <blank... (3 Replies)
Discussion started by: dips_ag
3 Replies

7. Shell Programming and Scripting

awk find a string, print the line 2 lines below it

I am parsing a nagios config, searching for a string, and then printing the line 2 lines later (the "members" string). Here's the data: define hostgroup{ hostgroup_name chat-dev alias chat-dev members thisisahostname } define hostgroup{ ... (1 Reply)
Discussion started by: mglenney
1 Replies

8. Shell Programming and Scripting

Print lines after the search string until blank line is found

All I want is to look for the pattern in the file...If I found it at # places... I want print lines after those pattern(line) until I find a blank line. Log EXAMPLE : MT:Exception caught The following Numbers were affected: 1234 2345 2346 Error java.lang.InternalError:... (3 Replies)
Discussion started by: prash184u
3 Replies

9. Shell Programming and Scripting

Strip one line from 2 blank lines in a file

Hi Is there any command to scan thru a file looking for 2 consecutive blank lines and if any remove one of them. Please let me know. Regards, Tipsy (6 Replies)
Discussion started by: tipsy
6 Replies

10. Shell Programming and Scripting

how to print out line numbers of a text file?

i have this text file name test.txt which contain : aaaaa bbb iiiiiiiiiiiii ccf ddaaa ddd and i need a script that can print out the line numbers using a while loop.. so when the script is run..it will have this: 1 2 3 any ideas? :) thanks guys (4 Replies)
Discussion started by: forevercalz
4 Replies
Login or Register to Ask a Question