pattern match in each line and capture it question


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users pattern match in each line and capture it question
# 8  
Old 04-01-2008
can someone help me out with this please?...
# 9  
Old 04-01-2008
First, you could read "man cut" to find out how the cut command is working and how to change it according to you data.

Second, just change the 8-40 to 10-40!!
# 10  
Old 04-01-2008
Third!! your original command was:

Code:
cut -c8-40 file_log

so you should have added the sed at the end as:

Code:
cut -c8-40 file_log | sed ....

Not after 40!?!?!
# 11  
Old 04-02-2008
THnaks for the reply.

The output of the script is

PBX TYPE:CC3 ,NSH

note the space between CC3 and ,NSH


I would want this to be :

CC3,NSH

My script is like this. Please reveiw.

##!/usr/bin/sh -x
##Initialising variables

FROM_DIR=/usr/local/Sandeep_test/santest; export FROM_DIR

PBX_TXT="****** PBX"; export PBX_TXT

echo "----------------------------LIST OF INCORRECT PBX/SWTICH TYPE FOUND--------------------------"

echo "----------------------------LIST The CORRECT PBX/SWTICH TYPE---------------------------------"
cd $FROM_DIR

for file in $FROM_DIR/LEE*.cc3

do

grep '^...... PBX' $file > file_log

cut -c10-40| sed 's/ PBX-id: /,/' file_log

done
exit 0

Last edited by bsandeep_80; 04-02-2008 at 10:08 AM..
# 12  
Old 04-02-2008
This is NOT the script that you're running!!!

The "cut" has STILL no File-Parameter and is piped to the "sed" which has the File-Parameter.

You should have missed ONE OF THE BLANKS in "/ PBX-id: /,/" !!!
# 13  
Old 04-02-2008
##!/usr/bin/sh -x
##Initialising variables

FROM_DIR=/usr/local/Sandeep_test/santest; export FROM_DIR

PBX_TXT="****** PBX"; export PBX_TXT

cd $FROM_DIR

for file in $FROM_DIR/LEE*.cc3

do

grep '^...... PBX' LEECOUNTY.cc3 > file_log

cut -c8-40 > file_log1

sed 's/ PBX-id: /,/' file_log1 > file_log2


done
exit 0



This is the script and when i cat file_log2 the output is:

PBX TYPE:IDC4 ,L14
PBX TYPE:IDC3 ,L12
PBX TYPE:IDC5 ,L13

Note there is lot of space between IDC4 and ,L14

Desired output would be:
IDC4,L14
IDC3,L12
IDC5,L13

Last edited by bsandeep_80; 04-02-2008 at 11:59 AM..
# 14  
Old 04-02-2008
OK apparantly you have more than ONE BLANK around the text!!

Please use:
Code:
sed 's/ *PBX-id: */,/' file_log1 > file_log2

Note the '*' after each blank.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk to combine lines from line with pattern match to a line that ends in a pattern

I am trying to combine lines with these conditions: 1. First line starts with text of "libname VALUE db2 datasrc" where VALUE can be any text. 2. If condition1 is met then continue to combine lines through a line that ends with a semicolon. 3. Ignore case when matching patterns and remove any... (5 Replies)
Discussion started by: Wes Kem
5 Replies

2. Shell Programming and Scripting

Match Pattern and print pattern and multiple lines into one line

Hello Experts , require help . See below output: File inputs ------------------------------------------ Server Host = mike id rl images allocated last updated density vimages expiration last read <------- STATUS ------->... (4 Replies)
Discussion started by: tigerhills
4 Replies

3. Shell Programming and Scripting

Rearrange or replace only the second line after pattern match or pattern match

Im using the command below , but thats not the output that i want. it only prints the odd and even numbers. awk '{if(NR%2){print $0 > "1"}else{print $0 > "2"}}' Im hoping for something like this file1: Text hi this is just a test text1 text2 text3 text4 text5 text6 Text hi... (2 Replies)
Discussion started by: invinzin21
2 Replies

4. Shell Programming and Scripting

Print only next pattern in a line after a pattern match

I have 2013-06-11 23:55:14 1Umexd-0004cm-IG <= user@domain.com I need sed/awk operation on this, so that it should print the very next pattern only after the the pattern mach <= ie only print user@domain.com (7 Replies)
Discussion started by: anil510
7 Replies

5. Shell Programming and Scripting

I need to know how to replace a line after a pattern match with an empty line using SED

Hi How Are you? I am doing fine! I need to go now? I will see you tomorrow! Basically I need to replace the entire line containing "doing" with a blank line: I need to the following output: Hi How Are you? I need to go now? I will see you tomorrow! Thanks in advance.... (1 Reply)
Discussion started by: sags007_99
1 Replies

6. Shell Programming and Scripting

pattern match and replace another pattern in same line

I have a pattern username:x:32005:32006::/usr/local/user:/bin/bash I need to match the line containing username and replace /bin/bash with /usr/local/my/bin/noshell So it becomes username:x:32005:32006::/usr/local/user:/usr/local/my/bin/noshell (7 Replies)
Discussion started by: anilcliff
7 Replies

7. Shell Programming and Scripting

Print Line if next line Match a pattern

Hi All, Does anyone know how to print 1H1A....... in peal script print line ^1H1A....... if next line equal 5R0RECEIPT.... Thank for help:D Cat st.txt 1H1A-IN-11-5410-0009420|1010047766|dsds|1|N|IN|IN|000000|1||N|<<<line match 5R0RECEIPT| 5R0RECEIPT|... (2 Replies)
Discussion started by: kittiwas
2 Replies

8. Shell Programming and Scripting

pattern match question

I have a pattern match problem I could use your help with I have a file in the following format (names.txt) jae,doe john,doe jay,doe I need to loop through the file using FOR and check the names in names.txt against another file (information.txt). information.txt is in the following... (2 Replies)
Discussion started by: chaos40
2 Replies

9. Shell Programming and Scripting

sed - Replace Line which contains the Pattern match with a new line

I need to replace the line containing "STAGE_DB" with the line "STAGE_DB $DB # database that contains the table being loaded ($workingDB)" Here $DB is passed during the runtime. How can I do this? Thanks, Kousikan (2 Replies)
Discussion started by: kousikan
2 Replies

10. Shell Programming and Scripting

match a pattern, print it and the next line

I have a file nbu_faq.txt (Question/answer) which looks like this What I am trying to do is write out each question in a file1.txt and than the question/answer in a file2.txt like this file1.txt Q: What is nbu? Q: What is blablabla...? Q: Why ....? file2.txt Q: What is nbu? A:... (4 Replies)
Discussion started by: nymus7
4 Replies
Login or Register to Ask a Question