Need to print some particular line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need to print some particular line
# 1  
Old 09-07-2015
Tools Need to print some particular line

I have a file which have lots of line.
delimiter is |
i am counting the delimiter and want to print some lines on basis of this count.
here is my command.

Code:
$ awk -F\| '{print NF}' abc.txt | sort -u 
5
99
2

Now want to show the record count also as per this delimiter.

Code:
$ awk -F\| '{print NF}' abc.txt | sort | uniq -c 
  2 5
266 99
  5 2

Now i want to print those 5 records which have 2 delimiter.

Please suggest any command here.
# 2  
Old 09-07-2015
Hello BithunC,

Could you please let us know the sample input of your requirement with sample output as requirement is not clear, following are some points on same.
Code:
 awk -F"|" '{print NF}' abc.txt    ### Means it will print number of records as per line.

When you are using command:
Code:
 awk -F\| '{print NF}' abc.txt | sort -u #### Which means it is just simply sorting the output of first awk command which simply shows the number of fields of each line. So if you want to sort the actual output which I think you may require then above command may not help you.

Also for following command:
Code:
 awk -F\| '{print NF}' abc.txt | sort | uniq -c   ##### This command again first print the number of each files by awk then sorting it and then counting like how many number of fields are present in whole file, eg--> 2 5 in output means 5 number of fields occurred in file for 2 times and so on in your shown output.

Could you please be more specific in your requirement so that we may help you on same.

Thanks,
R. Singh
# 3  
Old 09-07-2015
Quote:
Originally Posted by BithunC
Please suggest any command here.
Sorted by field
Code:
perl -nlaF'\|' -e '$NF{$F[-1]}++; END{for $f (sort keys %NF){print "$NF{$f} $f"}}' BithunC.file

or not sorted
Code:
perl -nlaF'\|' -e '$NF{$F[-1]}++; END{for $f (keys %NF){print "$NF{$f} $f"}}' BithunC.file

# 4  
Old 09-07-2015
Quote:
Originally Posted by BithunC
I have a file which have lots of line.
delimiter is |
i am counting the delimiter and want to print some lines on basis of this count.
here is my command.

Code:
$ awk -F\| '{print NF}' abc.txt | sort -u 
5
99
2

Now want to show the record count also as per this delimiter.

Code:
$ awk -F\| '{print NF}' abc.txt | sort | uniq -c 
  2 5
266 99
  5 2

Now i want to print those 5 records which have 2 delimiter.

Please suggest any command here.
According to the data you have shown us above, there are no lines with 2 delimiters. There are 2 lines with 4 delimiters (AKA 5 fields), there are 266 lines with 98 delimiters (AKA 99 fields), and 5 lines with 1 delimiter (AKA 2 fields).

To print the 5 lines with 2 fields, try:
Code:
awk -F'|' 'NF==2' abc.txt

To see that there are no lines with 2 delimiters, try:
Code:
awk -F'|' 'NF==3' abc.txt

# 5  
Old 09-08-2015
Quote:
Originally Posted by Don Cragun
According to the data you have shown us above, there are no lines with 2 delimiters. There are 2 lines with 4 delimiters (AKA 5 fields), there are 266 lines with 98 delimiters (AKA 99 fields), and 5 lines with 1 delimiter (AKA 2 fields).

To print the 5 lines with 2 fields, try:
Code:
awk -F'|' 'NF==2' abc.txt

To see that there are no lines with 2 delimiters, try:
Code:
awk -F'|' 'NF==3' abc.txt

Thanks Don, its perfectly workingh Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Reading a file line by line and print required lines based on pattern

Hi All, i want to write a shell script read below file line by line and want to exclude the lines which contains empty value for MOUNTPOINT field. i am using centos 7 Operating system. want to read below file. # cat /tmp/d5 NAME="/dev/sda" TYPE="disk" SIZE="60G" OWNER="root"... (4 Replies)
Discussion started by: balu1234
4 Replies

2. Shell Programming and Scripting

Find line then evaluate text on next line, print when condition is met

Hello, I am looking for a specific situation in a text file. The conditions are, > <CompoundName> InChI=1S/C5H12NO2/c1-5(2)4-8-6(3)7/h5H,4H2,1-3H3/q+1 I am looking for cases where the line "> <CompoundName>" is followed by a line that contains the string "InChI=" without regard to... (5 Replies)
Discussion started by: LMHmedchem
5 Replies

3. UNIX for Beginners Questions & Answers

Output to file print as single line, not separate line

example of problem: when I echo "$e" >> /home/cogiz/file.txt result prints to file as:AA BB CC I need it to save to file as this:AA BB CC I know it's probably something really simple but any help would be greatly appreciated. Thank You. Cogiz (7 Replies)
Discussion started by: cogiz
7 Replies

4. Shell Programming and Scripting

How to print previous line of multiple pattern matched line?

Hello, I have below format log file, Comparing csv_converted_files/2201/9747.1012H67126.5077292103609547345.csv and csv_converted_files/22019/97447.1012H67126.5077292103609547345.csv Comparing csv_converted_files/2559/9447.1012H67126.5077292103609547345.csv and... (6 Replies)
Discussion started by: arvindshukla81
6 Replies

5. Shell Programming and Scripting

Echo printing a line in 2 lines; expected to print in one line

Dear All, fileName: therm.txt nc3h7o2h 7/27/98 thermc 3h 8o 2 0g 300.000 5000.000 1390.000 41 1.47017550e+01 1.71731699e-02-5.91205329e-06 9.21842570e-10-5.36438880e-14 2 -2.99988556e+04-4.93387892e+01 2.34710908e+00 4.34517484e-02-2.65357553e-05 3 ... (7 Replies)
Discussion started by: linuxUser_
7 Replies

6. 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

7. Shell Programming and Scripting

Using regex's from file1, print line and line after matches in file2

Good day, I have a list of regular expressions in file1. For each match in file2, print the containing line and the line after. file1: file2: Output: I can match a regex and print the line and line after awk '{lines = $0} /Macrosiphum_rosae/ {print lines ; print lines } ' ... (1 Reply)
Discussion started by: pathunkathunk
1 Replies

8. Shell Programming and Scripting

Print pipe separated list as line by line in Korn Shell

Korn Shell in AIX 6.1 I want to print the below shown pipe (|) separated list line by line. line=es349889|nhb882309|ts00293|snh03524|bg578835|bg37900|rnh00297|py882201|sg175883 for i in line do echo "Hello $line " done I wanted to execute the above for loop. But i can't even set the... (3 Replies)
Discussion started by: polavan
3 Replies

9. Shell Programming and Scripting

read file line by line print column wise

I have a .csv file which is seperated with (;) inputfile --------- ZZZZ;AAAA;BBB;CCCC;DDD;EEE; YYYY;BBBB;CCC;DDDD;EEE;FFF; ... ... reading file line by line till end of file. while reading each line output format should be . i need to print only specific columns let say 5th... (2 Replies)
Discussion started by: rocking77
2 Replies

10. Shell Programming and Scripting

Compare multiple fields in file1 to file2 and print line and next line

Hello, I have two files that I need to compare and print out the line from file2 that has the first 6 fields matching the first 6 fields in file1. Complicating this are the following restrictions 1. file1 is only a few thousand lines at most and file2 is greater than 2 million 2. I need to... (7 Replies)
Discussion started by: gillesc_mac
7 Replies
Login or Register to Ask a Question