Print Specific lines when found specific character


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Print Specific lines when found specific character
# 1  
Old 01-26-2012
Print Specific lines when found specific character

Hello all,

I have thousand file input like this:

file1:
Code:

 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
 $$      |      |        |      |$$
 $$ UERT | TTYH |  TAFE  | FRFG |$$
 $$______|______|________|______|$$
 $$      |      |        |      |$$
 $$    1 | DISK | TR1311 |    1 |$$
 $$    1 | DISK | TR1312 |    1 |$$
 $$    1 | DISK | TR1317 |    1 |$$
 $$    1 | DISK | TR1313 |    1 |$$
 $$    1 | DISK | TR1319 |    1 |$$
 $$    1 | DISK | TR1314 |    1 |$$
 $$______|______|________|______|$$
 $$      |      |        |      |$$
 $$    1 | DISK | TR1315 |   UNU|$$
 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

file2:
Code:
 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
 $$      |      |        |      |$$
 $$ UERT | TTYH |  TAFE  | FRFG |$$
 $$______|______|________|______|$$
 $$      |      |        |      |$$
 $$    1 | DISK | TR1311 |    2 |$$
 $$    1 | DISK | TR1312 |    2 |$$
 $$    1 | DISK | TR1317 |    2 |$$
 $$______|______|________|______|$$
 $$      |      |        |      |$$
 $$    1 | DISK | TR1315 |   UNU|$$
 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

file3:
Code:

 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
 $$      |      |        |      |$$
 $$ UERT | TTYH |  TAFE  | FRFG |$$
 $$______|______|________|______|$$
 $$      |      |        |      |$$
 $$    1 | DISK | TR1311 |    3 |$$
 $$    1 | DISK | TR1312 |    3 |$$
 $$    1 | DISK | TR1311 |    3 |$$
 $$    1 | DISK | TR1312 |    3 |$$
 $$    1 | DISK | TR1311 |    3 |$$
 $$    1 | DISK | TR1312 |    3 |$$
  $$    1 | DISK | TR1317 |    3 |$$
 $$______|______|________|______|$$
 $$      |      |        |      |$$
 $$    1 | DISK | TR1315 |   UNU|$$
 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

.... file1000

Output that I want:
Code:
 $$    1 | DISK | TR1311 |    1 |$$
 $$    1 | DISK | TR1312 |    1 |$$
 $$    1 | DISK | TR1317 |    1 |$$
 $$    1 | DISK | TR1313 |    1 |$$
 $$    1 | DISK | TR1319 |    1 |$$
 $$    1 | DISK | TR1314 |    1 |$$
 $$    1 | DISK | TR1311 |    2 |$$
 $$    1 | DISK | TR1312 |    2 |$$
 $$    1 | DISK | TR1317 |    2 |$$
 $$    1 | DISK | TR1311 |    3 |$$
 $$    1 | DISK | TR1312 |    3 |$$
 $$    1 | DISK | TR1311 |    3 |$$
 $$    1 | DISK | TR1312 |    3 |$$
 $$    1 | DISK | TR1311 |    3 |$$
 $$    1 | DISK | TR1312 |    3 |$$
  $$    1 | DISK | TR1317 |    3 |$$
.
.
.


Any help would be much appreciated.

- Attila


Last edited by Franklin52; 01-26-2012 at 04:32 AM.. Reason: Please use code tags for code and data samples, thank you
# 2  
Old 01-26-2012
Code:
$ nawk '/DISK/' *
$$ 1 | DISK | TR1311 | 1 |$$
$$ 1 | DISK | TR1312 | 1 |$$
$$ 1 | DISK | TR1317 | 1 |$$
$$ 1 | DISK | TR1313 | 1 |$$
$$ 1 | DISK | TR1319 | 1 |$$
$$ 1 | DISK | TR1314 | 1 |$$
$$ 1 | DISK | TR1315 | UNU|$$
$$ 1 | DISK | TR1311 | 2 |$$
$$ 1 | DISK | TR1312 | 2 |$$
$$ 1 | DISK | TR1317 | 2 |$$
$$ 1 | DISK | TR1315 | UNU|$$
$$ 1 | DISK | TR1311 | 3 |$$
$$ 1 | DISK | TR1312 | 3 |$$
$$ 1 | DISK | TR1311 | 3 |$$
$$ 1 | DISK | TR1312 | 3 |$$
$$ 1 | DISK | TR1311 | 3 |$$
$$ 1 | DISK | TR1312 | 3 |$$
$$ 1 | DISK | TR1317 | 3 |$$
$$ 1 | DISK | TR1315 | UNU|$$

---------- Post updated at 01:43 PM ---------- Previous update was at 01:42 PM ----------

Code:
$ nawk -F\| '/DISK/ && $4~/[0-9]/' *
$$ 1 | DISK | TR1311 | 1 |$$
$$ 1 | DISK | TR1312 | 1 |$$
$$ 1 | DISK | TR1317 | 1 |$$
$$ 1 | DISK | TR1313 | 1 |$$
$$ 1 | DISK | TR1319 | 1 |$$
$$ 1 | DISK | TR1314 | 1 |$$
$$ 1 | DISK | TR1311 | 2 |$$
$$ 1 | DISK | TR1312 | 2 |$$
$$ 1 | DISK | TR1317 | 2 |$$
$$ 1 | DISK | TR1311 | 3 |$$
$$ 1 | DISK | TR1312 | 3 |$$
$$ 1 | DISK | TR1311 | 3 |$$
$$ 1 | DISK | TR1312 | 3 |$$
$$ 1 | DISK | TR1311 | 3 |$$
$$ 1 | DISK | TR1312 | 3 |$$
$$ 1 | DISK | TR1317 | 3 |$$

# 3  
Old 01-26-2012
Thank you itkamaraj,

but unfortunately I get other data like this:

file 401:
Code:
 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
 $$      |      |        |      |$$
 $$ UERT | TTYH |  TAFE  | FRFG |$$
 $$______|______|________|______|$$
 $$      |      |        |      |$$
 $$    1 | DISK | TR1311 |    2 |$$
 $$    1 | DISK | TR1312 |    2 |$$
 $$    1 | DISK | TR1311 |    2 |$$
 $$    2 | DISK | TR1312 |    2 |$$
 $$    2 | DISK | TR1311 |    2 |$$
 $$    2 | DISK | TR1312 |    2 |$$
 $$    2 | DISK | TR1317 |    2 |$$
 $$______|______|________|______|$$
 $$      |      |        |      |$$
 $$    1 | DISK | TR1315 |   UNU|$$
 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

and I won't print this part:
Code:
 $$    2 | DISK | TR1312 |    2 |$$
 $$    2 | DISK | TR1311 |    2 |$$
 $$    2 | DISK | TR1312 |    2 |$$
 $$    2 | DISK | TR1317 |    2 |$$

in other word specific string is:
Code:
1 | DISK

not only :
Code:
DISK

any idea?

Last edited by Franklin52; 01-26-2012 at 08:11 AM.. Reason: Please use code tags for code and data samples, thank you
# 4  
Old 01-26-2012
Code:
$ nawk -F\| '$1~/ 1 / && $4~/[0-9]/ && $2~/DISK/' *
$$ 1 | DISK | TR1311 | 1 |$$
$$ 1 | DISK | TR1312 | 1 |$$
$$ 1 | DISK | TR1317 | 1 |$$
$$ 1 | DISK | TR1313 | 1 |$$
$$ 1 | DISK | TR1319 | 1 |$$
$$ 1 | DISK | TR1314 | 1 |$$
$$ 1 | DISK | TR1311 | 2 |$$
$$ 1 | DISK | TR1312 | 2 |$$
$$ 1 | DISK | TR1317 | 2 |$$
$$ 1 | DISK | TR1311 | 3 |$$
$$ 1 | DISK | TR1312 | 3 |$$
$$ 1 | DISK | TR1311 | 3 |$$
$$ 1 | DISK | TR1312 | 3 |$$
$$ 1 | DISK | TR1311 | 3 |$$
$$ 1 | DISK | TR1312 | 3 |$$
$$ 1 | DISK | TR1317 | 3 |$$

This User Gave Thanks to itkamaraj For This Post:
# 5  
Old 01-26-2012
Solved,

Thank you very much itkamaraj,
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to print lines from a files with specific start and end patterns and pick only the last lines?

Hi, I need to print lines which are matching with start pattern "SELECT" and END PATTERN ";" and only select the last "select" statement including the ";" . I have attached sample input file and the desired input should be as: INPUT FORMAT: SELECT ABCD, DEFGH, DFGHJ, JKLMN, AXCVB,... (5 Replies)
Discussion started by: nani2019
5 Replies

2. Shell Programming and Scripting

Count specific character of a file in each line and delete this character in a specific position

I will appreciate if you help me here in this script in Solaris Enviroment. Scenario: i have 2 files : 1) /tmp/TRANSACTIONS_DAILY_20180730.txt: 201807300000000004 201807300000000005 201807300000000006 201807300000000007 201807300000000008 2)... (10 Replies)
Discussion started by: teokon90
10 Replies

3. Shell Programming and Scripting

How to print the specific lines?

I need to print specific lines 5,100,67,123 in a file. file name: today.csv (3 Replies)
Discussion started by: ramkumar15
3 Replies

4. Shell Programming and Scripting

How to print with awk specific field different from specific character?

Hello, i need help with awk. I have this file: cat number DirB port 67 er_enc_out 0 er_bad_os 0 DirB port 71 er_enc_out 56 er_bad_os 0 DirB port 74 er_enc_out 0 er_bad_os 0 DirB port 75 ... (4 Replies)
Discussion started by: elilmal
4 Replies

5. Shell Programming and Scripting

AWK Print Line If Specific Character Is Matched

Hello, I have a file as such: FFFFFFF6C000000 225280 225240 - - rwxs- FFFFFFFF79C00000 3240 3240 - - rwxs- FFFFFFFF7A000000 4096 4096 - - rwxs- FFFFFFFF7A400000 64 64 ... (3 Replies)
Discussion started by: PointyWombat
3 Replies

6. Shell Programming and Scripting

print first few lines, then apply regex on a specific column to print results.

abc.dat tty cpu tin tout us sy wt id 0 0 7 3 19 71 extended device statistics r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device 0.0 133.2 0.0 682.9 0.0 1.0 0.0 7.2 0 79 c1t0d0 0.2 180.4 0.1 5471.2 3.0 2.8 16.4 15.6 15 52 aaaaaa1-xx I want to skip first 5 line... (4 Replies)
Discussion started by: kchinnam
4 Replies

7. Shell Programming and Scripting

Using sed to replace specific character and specific position

I am trying to use sed to replace specific characters at a specific position in the file with a different value... can this be done? Example: File: A0199999123 A0199999124 A0199999125 Need to replace 99999 in positions 3-7 with 88888. Any help is appreciated. (5 Replies)
Discussion started by: programmer22
5 Replies

8. Shell Programming and Scripting

Print lines with specific character at nth position in a file

I need to print lines with character S at nth position in a file...can someone pl help me with appropriate awk command for this (1 Reply)
Discussion started by: manaswinig
1 Replies

9. Shell Programming and Scripting

Print lines with specific character at nth position in a file

I need to print lines with character S at nth position in a file...can someone pl help me with appropriate awk command for this (2 Replies)
Discussion started by: manaswinig
2 Replies

10. Shell Programming and Scripting

print specific lines

I have a text file made of different blocks separated by blank lines. I need to print the blocks with odd indexes. How can I get it with awk? For example i need to print the first and the third block of a file like this: asgdg sadsd ssgsdgd ass uff fedd sddddso ieeduydd dddee deeo ssancnc... (4 Replies)
Discussion started by: littleboyblu
4 Replies
Login or Register to Ask a Question