Alternate work out for sed command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Alternate work out for sed command
# 8  
Old 12-09-2009
Code:
#!/bin/bash
while read -r line
do
    case "$line" in
        \#Cluster*)
            echo "$line"
            echo "Cluster=test_node1@test_clus_mem1"
            ;;
        *) echo "${line}";;
    esac

done <"file"

output
Code:
$ ./shell.sh
#Node=Nodehostname:NodeProfilename
Node=testNode:test_profile
#Cluster=Cluster_Name:nodeName@ClusterMem1,nodeName@ClusterMem2,....
Cluster=test_node1@test_clus_mem1
#DC=DCname:DCnodegrp:DCtemp
DC=test_DC:test_NG:test_template

# 9  
Old 12-09-2009
@scottn
The have tried the command nawk and it prints the property file but it doesnot write it (inserting a new line ) to the property file !! Below is what i have been trying .

Code:
nawk '1; /^#Cluster=/ { print "$clus_name_format" }' $prop_file

# 10  
Old 12-09-2009
Quote:
Originally Posted by SSSB
but it doesnot write it (inserting a new line ) to the property file
Write it to a temporary file, then copy it over the original.

Code:

nawk '1; /^#Cluster=/ { print "$clus_name_format" }' $prop_file \
   > $prog_file.$$ && cp -f $prop_file.$$ $prop_file && rm $prop_file.$$

# 11  
Old 12-09-2009
The code worked but i have another issue when i am trying to insert a variables clus_name_format,PROP_FILE_LOC listed below
Code:
clus_name_format=${clus_name_format:-"Cluster=test_node1@test_clus_mem1"}
PROP_FILE_LOC=${PROP_FILE_LOC:-/home/properties/test.props}

nawk '1; /^#Cluster=/ { print "$clus_name_format" }' $PROP_FILE_LOC > /tmp/test.props && cp -f /tmp/test.props $PROP_FILE_LOC

The property file O/P looked as beolw
Code:
#Node=Nodehostname:NodeProfilename
Node=testNode:test_profile
#Cluster=Cluster_Name:nodeName@ClusterMem1,nodeName@ClusterMem2,....
$clus_name_format
#DC=DCname:DCnodegrp:DCtemp
DC=test_DC:test_NG:test_template

How do i pass the variables in the { print " " } statement ? i tried using the escape character \ but that didn't work out.
# 12  
Old 12-09-2009
Code:
nawk '1; /^#Cluster=/ { print " '$clus_name_format' " }'  $PROP_FILE_LOC

# 13  
Old 12-09-2009
MySQL

Thanks Y'ALL . Its working perfect!! Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sed command does not work as expected

Why when I use this command do I get "E123"? echo NCE123 | sed -n 's/\(.*\)\(\{1,\}\{1,5\}\)\(.*\)/\2/p' But when I used this command, I get NCE123? echo NCE123 | sed -n 's/\(.*\)\(\{3\}\{1,5\}\)\(.*\)/\2/p' I thought \{1,\} would mean any number of characters and \{1,5\ would mean 1-5... (1 Reply)
Discussion started by: newbie2010
1 Replies

2. Shell Programming and Scripting

Process alternate lines in awk/sed/perl

hi.. i have a fasta file with the following format >sequence1 CCGGTTTTCGATTTGGTTTGACT >sequence2 AAAGTGCCGCCAGGTTTTGAGTGT >sequence3 AGTGCCGCAGAGTTTGTAGTGT Now, i want to read alternate line and add "GGGGGGGGGGG" to end of every sequence Desired output: >sequence1... (4 Replies)
Discussion started by: empyrean
4 Replies

3. Shell Programming and Scripting

Alternate for sed -i in AIX

Experts, At the moment I am working in AIX box where sed -i is not available. My requirement is as below Two files file1 and file2. file1 contains the IP address, its count. file2 contains the Hostname and its corresponding IP address. I would like get the IP address replaced with the apt... (7 Replies)
Discussion started by: sathyaonnuix
7 Replies

4. Shell Programming and Scripting

sed command works on Fedora/Ubuntu, but doesn't work in Mac

Hi, I have a question. I define a function using sed command: replace() { searchterm=$1 replaceterm=$2 sed -e "s/$searchterm/$replaceterm/ig" $3 > $WORK'tempfile.tmp' mv $WORK'tempfile.tmp' $3 } Then I call replace 'test = 0' 'test = 1' $myfile This code... (1 Reply)
Discussion started by: Dark2Bright
1 Replies

5. Shell Programming and Scripting

sed command works on Fedora/Ubuntu, but doesn't work in Mac

Hi, I have a question. I define a function using sed command: replace() { searchterm=$1 replaceterm=$2 sed -e "s/$searchterm/$replaceterm/ig" $3 > $WORK'tempfile.tmp' mv $WORK'tempfile.tmp' $3 } Then I call replace 'test = 0' 'test = 1' $myfileThis code works well in... (1 Reply)
Discussion started by: Dark2Bright
1 Replies

6. Shell Programming and Scripting

alternate for "grep -vf" command

I have been using grep for removing lines of a particular pattern from a long file in the following way grep -vf Exclude_Lines File1 > File2 But grep seems to have some problems because sometimes it does the job, sometimes it does not....I have seen AWK is more powerful.. Can the same thing... (5 Replies)
Discussion started by: ananyob
5 Replies

7. Shell Programming and Scripting

sed: appending alternate line after previous line

Hi all, I have to append every alternate line after its previous line. For example if my file has following contents line 1: unix is an OS line 2: it is open source line 3: it supports shell programming line 4: we can write shell scripts Required output should be line1: unix is an OS it is... (4 Replies)
Discussion started by: rish_max
4 Replies

8. UNIX for Dummies Questions & Answers

sed command not work with variables?

I am trying to write a simple script which will take a variable with sed to take a line out of a text and display it #!/bin/sh exec 3<list while read list<&3 do echo $list sed -n '$list p'<list2 done this does not work, yet when I replace the $list variable from the sed command and... (1 Reply)
Discussion started by: MaestroRage
1 Replies

9. UNIX for Dummies Questions & Answers

require alternate command for lsof

Using lsof command i can find out which process-id is associated with the port. lsof -i :51000 . But as part of process i cant have lsof in the server. I am using sun solaris 8 and only kshell. Is there a way to find out which process is using the above port. as of now i am gettn port... (1 Reply)
Discussion started by: logic0
1 Replies

10. Shell Programming and Scripting

Alternate command for cut

Hello, I have a string below DUMMY=1,2,3,4,5,6 I want to extract fields 1-3 and put it as under in a file 1,2,3 I can do this using cut like below echo $DUMMY | cut -d, -f1-3 But I would be processing more than 15000 such entries and I found that "cut" was using more CPU. So anyone... (2 Replies)
Discussion started by: Mohammed
2 Replies
Login or Register to Ask a Question