10-20-2011
Ok, now it works. I slighlty modified your final suggestion using the following code. Thanks a lot for your (really impressive) effort in helping me!
Quote:
#!/bin/sh
AWKFILE=`basename $0`_$$.awk
[[ -f $AWFILE ]] && rm $AWKFILE
while IFS=',' read VN AN TN RN
do
cat >> $AWKFILE <<EOFILE
/$VN\.$TN *= *'[^']*'/ {
match (\$0, "(.*)$VN.$TN *= *'([^']*)';(.*)",statements);
${VN}_type=statements[2];
if ( ${VN}_apply != "" ) {
if ( ${VN}_apply == "true" ) {
printf ("%s$VN.$RN = '%s'; %s\n", statements[1], ${VN}_type, statements[3]);
}
else {
printf ("%s$VN.$RN = ''; %s\n", statements[1], statements[3]);
}
}
else {
printf ("%s%s\n", statements[1], statements[3]);
}
}
/$VN\.$AN *= *[^;]*/ {
match (\$0, "(.*)$VN.$AN *= *([^;]*) *;(.*)",statements);
${VN}_apply=statements[2];
if ( ${VN}_type != "" ) {
if ( ${VN}_apply == "true") {
printf ("%s$VN.$RN = '%s'; %s\n", statements[1], ${VN}_type, statements[3]);
}
else {
printf ("%s$VN.$RN = ''; %s\n", statements[1], statements[3]);
}
}
else {
printf ("%s%s\n", statements[1], statements[3]);
}
}
EOFILE
if [ -z "$exclstr" ]
then
exclstr="$VN.$AN|$VN.$TN"
else
exclstr=$exclstr"|$VN.$AN|$VN.$TN"
fi
done < $2
cat >> $AWKFILE <<EOFILE
\$0 !~ /($exclstr) *= *[^;]*/ {
print;
}
EOFILE
gawk -f $AWKFILE $1
rm $AWKFILE
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I have file which has the following content...
GOOD MORNING
**********WARNING**********
when it kicks from the kickstart, sshd daemon should start at last.
(WHEN KICKING ITSELF, NOT AFTER KICKING).
/etc/rc3.d/S55sshd ( run level specification for sshd is 55, now I would want to... (4 Replies)
Discussion started by: skmdu
4 Replies
2. Shell Programming and Scripting
Hi friends,
Could you please help me to resolve the below issue.
Input file :-
<Node>
<username>abc</username>
<password>ABC</password>
<Node>
<Node>
<username>xyz</username>
<password>XYZ</password>
<Node>
<Node>
<username>mnp</username>
... (3 Replies)
Discussion started by: haiksuresh
3 Replies
3. UNIX for Dummies Questions & Answers
How can I write a script that takes a cisco config file and outputs every occurrence of two, or more, pattern matches through the whole config file?
For example, out of a config file, i want to print out every line with interface, description and ip address through the whole file, and disregard... (3 Replies)
Discussion started by: knownasthatguy
3 Replies
4. Shell Programming and Scripting
Hi all,
This is my first post, so please go easy if I broke some rules. Not accustomed to posting in forums... :)
I'm looking for help on pattern matching within a multiline block and looking to highlight blocks/block-ids that do NOT contain a particular pattern.
For example an input file... (5 Replies)
Discussion started by: tirodad
5 Replies
5. UNIX for Dummies Questions & Answers
Hey everyone, I'm new to sed and I need to create a script for inserting one line of code at the beginning of every method in a Xcode project (over 6,000 methods). Each method Structure is
(+ or -) (Various declarations-- could span multiple lines) ({)
I've tried for days, any guidance would be... (2 Replies)
Discussion started by: jimmyz
2 Replies
6. Shell Programming and Scripting
I have html files (newlines ending in linefeed) with metacharacter-laden multiline text I want to replace. To matters more complicated, the first line may appear elsewhere in the file, so I need these lines as a block. I can replace individual lines, but am failing to come up with anything that can... (2 Replies)
Discussion started by: mauricev
2 Replies
7. Shell Programming and Scripting
Hi guys,
I am fairly comfortable with using the sed command if the string to be replaced is all on a single line.
I was wondering is it possible to use sed command in a multiline way ?
Say for example I have the below string on 2 different lines:
{
"key": "brandNameA",
... (3 Replies)
Discussion started by: Junaid Subhani
3 Replies
8. Shell Programming and Scripting
Dear all,
I try to replace a string of characters in a file (MyFile.txt) by a multiline value of the variable "Myvar":
$ cat MyFile.txt
DESCRIPTION '@TargetTable SCHEMA'
(
@InputFlowDef
);
$
The content of Myvar:
$ echo "$Myvar"
col1
, col2
, col3
$ (4 Replies)
Discussion started by: dae
4 Replies
9. Shell Programming and Scripting
I'm trying to replicate the sed output on p.108 of Sed&Awk,by Doughery & Robbins, 2nd edition.
I'm on a Windows 10 Surface Pro, running Cygwin for 64-bit versions of Windows.
Input text saved in text file called data_p108.txt:
Consult Section 3.1 in the Owner and Operator
Guide for a... (9 Replies)
Discussion started by: prooney
9 Replies