03-19-2008
Thanks a lot for your input and code. As I see following two inputs
Input pattern is
^.*struct $1 { multi-line structure } $2;
Output is
ABC_DataDesc_T $1/$2_desc { multi-line structure };
where
1. only one out of $1 and $2 is non-empty
2. Anything before string "struct" (including struct) is replaced by a static string ABC_DataDesc_T (sorry about the confusing name, which made it look that it depends on name of struct)
3. everything between multi-line matching braces { } need to remain intact.
4. ; at the end
I will see if I can figure out lex/yacc
9 More Discussions You Might Find Interesting
1. Linux
Hi all, quick question...
Im trying to configure Redhat 9 to dial out to my ISP AOL. I have found some software to do this but at present I can't get net access under Linux for the reason stated. I can however acces the net using my laptop running windows.
The question is:
I have downloaded... (3 Replies)
Discussion started by: brady9953
3 Replies
2. UNIX for Dummies Questions & Answers
Hi all,
I need some help with sed command. I'm trying to move all the files with a modified date within 12:00 - 13:00.
What i'm doing here is to do is
ls -lt | grep 'Jun 22 12:' > list.txt
to get all file names within that period.
However how do i strip off
-rw-r--r-- 1 enfoot adi... (2 Replies)
Discussion started by: manualvin
2 Replies
3. Shell Programming and Scripting
Is it possible to process multiple variables in a single sed command?
I have the following ksh with three variables and I want to search for all variables which start with "var" inside input.txt.
I tired "$var$" but it just prints out everyting in input.txt and does not work.
$ more test.ksh... (5 Replies)
Discussion started by: stevefox
5 Replies
4. Shell Programming and Scripting
Hi all
I am new babie to shell script, so please advise me n help me .
suppose i have a string "abacus sabre", i need to replace occurences 'ab' with 'cd' and i need to store this result into same string and i need to return this result from script to the calling function, where as the string... (4 Replies)
Discussion started by: veerapureddy
4 Replies
5. UNIX for Dummies Questions & Answers
Hi,
I am splitting a file based on pattern using sed -f command as below:
sed_cmd2 is the Pattern filename which has the below mentioned pattern in it:
#n
/\(.*\) \(.*\) \(mith\).*/w smith
Input file has following data
1 John Smith Chicago
2 Mary Smith New York
3 Judy... (2 Replies)
Discussion started by: 12345
2 Replies
6. Shell Programming and Scripting
I want to execute below command using line number as a variable.
sed '5c\ disk = jskdjfdsk' vm.cfg
How do i substitute a variable in place of 5
for example
i tried substituting
sed '$variablec\ disk = jskdjfdsk' vm.cfg
and
sed '"$variable"c\ disk = jskdjfdsk' vm.cfg)
but they... (2 Replies)
Discussion started by: pinga123
2 Replies
7. Shell Programming and Scripting
vif =
I need to replace "00:16:3E:64:FB:D3" to a new mac address value from below mentioned file.
# cat vm.cfg
acpi = 1
apic = 1
builder = 'hvm'
device_model = '/usr/lib/xen/bin/qemu-dm'
disk =
kernel = '/usr/lib/xen/boot/hvmloader'
memory = '300'
name = 'vm_temp'
on_crash =... (1 Reply)
Discussion started by: pinga123
1 Replies
8. Linux
Hi,
I'm using the following command to find the multiple requierd file types and its working fine
find . -name "*.pl" -o -name "*.pm" -o -name "*.sql" -o -name "*.so" -o -name "*.sh" -o -name "*.java" -o -name "*.class" -o -name "*.jar" -o -name "*.gz" -o -name "*.Z" -type f
Though... (2 Replies)
Discussion started by: vickramshetty
2 Replies
9. Shell Programming and Scripting
What is the syntax to use multiple input files in a SED command. i.e. substitute a word with a phrase in every file in a directory.
for every file in /usr/include that has the word "date" in the file
grep -l '\<date\>' /usr/include/*.h
find each occurrence of the word "time" in the file &... (3 Replies)
Discussion started by: sheoguey
3 Replies
LEARN ABOUT REDHAT
switch
switch(n) Tcl Built-In Commands switch(n)
__________________________________________________________________________________________________________________________________________________
NAME
switch - Evaluate one of several scripts, depending on a given value
SYNOPSIS
switch ?options? string pattern body ?pattern body ...?
switch ?options? string {pattern body ?pattern body ...?}
_________________________________________________________________
DESCRIPTION
The switch command matches its string argument against each of the pattern arguments in order. As soon as it finds a pattern that matches
string it evaluates the following body argument by passing it recursively to the Tcl interpreter and returns the result of that evaluation.
If the last pattern argument is default then it matches anything. If no pattern argument matches string and no default is given, then the
switch command returns an empty string.
If the initial arguments to switch start with - then they are treated as options. The following options are currently supported:
-exact Use exact matching when comparing string to a pattern. This is the default.
-glob When matching string to the patterns, use glob-style matching (i.e. the same as implemented by the string match command).
-regexp When matching string to the patterns, use regular expression matching (as described in the re_syntax reference page).
-- Marks the end of options. The argument following this one will be treated as string even if it starts with a -.
Two syntaxes are provided for the pattern and body arguments. The first uses a separate argument for each of the patterns and commands;
this form is convenient if substitutions are desired on some of the patterns or commands. The second form places all of the patterns and
commands together into a single argument; the argument must have proper list structure, with the elements of the list being the patterns
and commands. The second form makes it easy to construct multi-line switch commands, since the braces around the whole list make it unnec-
essary to include a backslash at the end of each line. Since the pattern arguments are in braces in the second form, no command or vari-
able substitutions are performed on them; this makes the behavior of the second form different than the first form in some cases.
If a body is specified as ``-'' it means that the body for the next pattern should also be used as the body for this pattern (if the next
pattern also has a body of ``-'' then the body after that is used, and so on). This feature makes it possible to share a single body among
several patterns.
Beware of how you place comments in switch commands. Comments should only be placed inside the execution body of one of the patterns, and
not intermingled with the patterns.
Below are some examples of switch commands:
switch abc a - b {format 1} abc {format 2} default {format 3}
will return 2,
switch -regexp aaab {
^a.*b$ -
b {format 1}
a* {format 2}
default {format 3}
}
will return 1, and
switch xyz {
a
-
b
{
# Correct Comment Placement
format 1
}
a*
{format 2}
default
{format 3}
}
will return 3.
SEE ALSO
for(n), if(n), regexp(n)
KEYWORDS
switch, match, regular expression
Tcl 7.0 switch(n)