sed & awk--get section of file based 2 params


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed & awk--get section of file based 2 params
# 1  
Old 12-01-2006
sed & awk--get section of file based 2 params

I need to get a section of a file based on 2 params. I want the part of the file between param 1 & 2. I have tried a bunch of ways and just can't seem to get it right. Can someone please help me out.....its much appreciated. Here is what I have found that looks like what I want....but doesn't give me back the right stuff.

sed -n '/[$PARAM1]/,/[$PARAM2]/p'
# 2  
Old 12-01-2006
Quote:
Originally Posted by Andy Cook
I need to get a section of a file based on 2 params. I want the part of the file between param 1 & 2. I have tried a bunch of ways and just can't seem to get it right. Can someone please help me out.....its much appreciated. Here is what I have found that looks like what I want....but doesn't give me back the right stuff.

sed -n '/[$PARAM1]/,/[$PARAM2]/p'
try using DOUBLE-quotes.
also posting a sample file and a desired output would hellp as well.
# 3  
Old 12-01-2006
Ok...I figured out the only problem with the code

is that it can't read the $Param passed in. When I put some text instead of the param it does it fine. One problem I have is the param will have slashes in it (the param is a full path filename). Does anyone know how to get it to read the param with slashes in it. Here is what it will look like...

sed -n '/$PARAM1/,/$PARAM2/p'

With the params uncovered it is

sed -n '//directory/filename/,//directory/filename2/p'
# 4  
Old 12-01-2006
Quote:
Originally Posted by Andy Cook
is that it can't read the $Param passed in. When I put some text instead of the param it does it fine. One problem I have is the param will have slashes in it (the param is a full path filename). Does anyone know how to get it to read the param with slashes in it. Here is what it will look like...

sed -n '/$PARAM1/,/$PARAM2/p'

With the params uncovered it is

sed -n '//directory/filename/,//directory/filename2/p'
I've noticed previously - use DOUBLE-quotes.
Also....
Code:
sed -n "#${PARAM1}#,#${PARAM2}#p"

# 5  
Old 12-01-2006
Hi,

Try putting double quotes around the command and single quotes around the PARAM

sed -n "/'$PARAM1'/,/'$PARAM2'/p"

or if you are putting it in the other format then you can just use the backslash to tell the script to treat the forward slash as a character and not an argument like

sed -n '/\/directory\/filename/,/\/directory\/filename2/p'

Hope this helps.

Paulo.
# 6  
Old 12-01-2006
Quote:
Originally Posted by _Spare_Ribs_
Hi,

Try putting double quotes around the command and single quotes around the PARAM

sed -n "/'$PARAM1'/,/'$PARAM2'/p"

or if you are putting it in the other format then you can just use the backslash to tell the script to treat the forward slash as a character and not an argument like

sed -n '/\/directory\/filename/,/\/directory\/filename2/p'

Hope this helps.

Paulo.

I have tried the suggestions you guys gave and it looks like they are close but not quite right. If I put them in double quotes it says its garbled. It does recognize the params but just can't handle them. I also switched / to # sign and put brackets around param and doesn't come back with anything.

Here is what I did

sed -n "/'$FILENAME'/,/'$FILENAME2'/p"`

Out is below:

sed: command garbled: /'/sybase_dumps/NXB_FDA_BACKUP/physdumps/reload_script_test20061130115518.dmp'/,/'/sybase_dumps/NXB_FDA_BACKUP/physdumps/reload_script_test20061201095324.dmp'/p
# 7  
Old 12-01-2006
here's a sample script:
Code:
#!/bin/ksh

s='/abc/def'
e='/g/h/k'

sE=$(echo ${s} | sed 's#/#\\/#g')
eE=$(echo ${e} | sed 's#/#\\/#g')

echo "sE->[${sE}]"
sed -n "/${sE}/,/${eE}/p" myFile.txt

here's myFile.txt
Code:
/abc/def
asdkfjlaskfjd  asdlfj
as
df
asd
fa
sdf  asdfjaslkdfj asdflk
/g/h/k
asdfklj
asdfjk asdflkj asdf
asd
/abc/def
as;klfj a sdlkfj
asdfkljas alskfjd
/g/h/k
fasdklfj asdf

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 look up values in File 2 from File 1, & printingNth field of File1 based value of File2 $2

I have two files which are the output of a multiple choice vocab test (60 separate questions) from 104 people (there are some missing responses) and the question list. I have the item list in one file (File1) Item,Stimulus,Choice1,Choice2,Choice3,Choice4,Correct... (5 Replies)
Discussion started by: samonl
5 Replies

2. Shell Programming and Scripting

Copying section of file based on search criteria

Hi Guru's, I am new to unix scripting. I have a huge file with user details in it(file2) and I have another file with a list of users(file1). Script has to search a user from file1 and get all the associated lines from file2. Example: fiel1: cn=abc cn=DEF cn=xyx File 2: dn:... (10 Replies)
Discussion started by: Samingla
10 Replies

3. Shell Programming and Scripting

Extract record from file based on section.

input file output file (1 Reply)
Discussion started by: lathigara
1 Replies

4. Shell Programming and Scripting

Want to sort a file using awk & sed to get required output

Hi All, Need Suggestion, Want to sort a file using awk & sed to get required, output as below, such that each LUN shows correct WWPN and FA port Numbers correctly: Required output: 01FB 10000000c97843a2 8C 0 01FB 10000000c96fb279 9C 0 22AF 10000000c97843a2 8C 0 22AF 10000000c975adbd ... (10 Replies)
Discussion started by: aix_admin_007
10 Replies

5. Shell Programming and Scripting

Deleting a section based on search from other file

Hi Everyone, I need some help to accomplish the below. help is highly appriciated. I have a 45 mb file with ldap entries. Each user entry is separated by a string # entry-id: 1 and so on. Some of the entries has a string xyz: true. I want to delete the section if the user section has xyz: true... (6 Replies)
Discussion started by: Samingla
6 Replies

6. Shell Programming and Scripting

Parse configuration file & add line in particular section

Greetings, I recently built a replicated DRBD, Heartbeat, & iSCSI Target Initiator storage server on Ubuntu 10.04 to offer shared storage to server Vmware ESX and Microsoft Clusters. Everything works flawlessly, however I wanted to make a script to create, remove, grow volumes to offer ESX... (6 Replies)
Discussion started by: Aeudian
6 Replies

7. Shell Programming and Scripting

Extract section of file based on word in section

I have a list of Servers in no particular order as follows: virtualMachines="IIBSBS IIBVICDMS01 IIBVICMA01"And I am generating some output from a pre-existing script that gives me the following (this is a sample output selection). 9/17/2010 8:00:05 PM: Normal backup using VDRBACKUPS... (2 Replies)
Discussion started by: jelloir
2 Replies

8. Shell Programming and Scripting

SED/AWK file read & manipulation

I have large number of data files, close to 300 files, lets say all files are same kind and have extension .dat , each file have mulitple lines in it. There is a unique line in each file containing string 'SERVER'. Right after this line there is another line which contain a string 'DIGIT=0',... (4 Replies)
Discussion started by: sal_tx
4 Replies

9. Shell Programming and Scripting

Selecting A Section of A File Based On the Time Within It

Hi, I have a file formated like this: John 7.22 2010-01-25_17:01:36 George 8.22 2010-01-25_17:02:36 Bob 9.62 2010-01-25_17:04:36 Jane 10.11 2010-01-25_17:05:36 Emma 4.52 2010-01-25_17:01:36 What I want to do is cut out only the entries that have... (2 Replies)
Discussion started by: Donkey25
2 Replies

10. Shell Programming and Scripting

Using Sed to duplicate a section of a file....

hello all, I have a file like this: section 1 blah1 blah2 section 2 blah1 blah2 section 3 blah1 blah2 and I want to use sed to duplicate section 2, like this: section 1 blah1 blah2 section 2 blah1 blah2 section 2 blah1 (2 Replies)
Discussion started by: nick26
2 Replies
Login or Register to Ask a Question