02-04-2006
Quote:
Originally Posted by wxornot
I need to assign a variable within a variable in a sed command.
I tried doing the following in c shell.
set left = 1
set right = 2
set segment = qwerty
sed -n -e "/$segment{$left}/,/$segment{$right}/p" file.txt
what is wrong with this syntax?
sed goes by
sed 's/<searchtext>/<replacementtext>/' file
using variables within sed
a=abcdef
b=def
echo abcdefghij | sed "s/$b/$a/"
abcabcdefghij
hope this helps.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Before I even attempt this, is it possible to grep for a pattern, maybe a partial sentence like "go to page 3", assign that to a variable and then use awk or something to pull out the 3 and assign it to a variable? So first I would have
Gotopg = "go to page 3"
then
page = 3 (9 Replies)
Discussion started by: k@ssidy
9 Replies
2. UNIX for Dummies Questions & Answers
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
3. UNIX for Advanced & Expert Users
Hi,
Is there any way to assign defaults values to the shell variables without reassigning them ( restarting the session)
for example
after login the value of ORACLE_HOME=/a/b/c
i have changed this value from the console
export ORACLE_HOME=/c/d
now what if i want the value exported to... (1 Reply)
Discussion started by: clx
1 Replies
4. Shell Programming and Scripting
Hi GUYS,
I have function. I am assigning a line count to count variable. But it is throwing an error at this line.
function_recur (){
#file being created in this function
lenth = `wc -l function_outpu.dat`;
echo $lenth;
}
this is the error i got
rec.ksh: lenth: not found.
... (3 Replies)
Discussion started by: mac4rfree
3 Replies
5. UNIX for Dummies Questions & Answers
Hi,
I am having a line which is separated by -
I need to extract each field and put into some variable.
a=`echo "this-is-the-case" | awk -F- '{print $1}' `
b=`echo "this-is-the-case" | awk -F- '{print $2}' `
c=`echo "this-is-the-case" | awk -F- '{print $3}' `
d=`echo "this-is-the-case" | awk... (2 Replies)
Discussion started by: posix
2 Replies
6. Shell Programming and Scripting
Hi all,
I want write a script to display 5rows at times from a input file.
my out like:
echo " display started"
r1
r2
r3
r4
r5
... Some action items...
again i need next 5 lines.
can you please advise. (2 Replies)
Discussion started by: koti_rama
2 Replies
7. Shell Programming and Scripting
Hi Gurus,
I have a file named log with 2 lines
Each line is a file name. eg
$ cat log
monday
tuesday
I need to read log and assign each output(filename) to a different variable.
The following doesn't work:-
while read A B
do
echo " a is ${A} "
echo " b is ${B} "
done <... (6 Replies)
Discussion started by: wisdom
6 Replies
8. Shell Programming and Scripting
HELLO!!
I'm trying to pass a variable with in the 'sed' command (which would add some piece of code to file at a particular line). We can use
sed '{line-number}a\
alfjaljf\
aslfjsfsjafl\
adlfjaf\' file.txt
If file.txt is
Now, I would like to add the parameter 'lmn' after... (1 Reply)
Discussion started by: mjavalkar
1 Replies
9. Shell Programming and Scripting
i have variables RECIPIENTS_DEVL,RECIPIENTS_UACC,RECIPIENTS_PROD
i have a case statement to get the phase variable:
case ${WMD_UPHASE1} in
u) WMD_UPHASE4=UACC;;
i) WMD_UPHASE4=DEVL;;
p) WMD_UPHASE4=PROD;;
d) WMD_UPHASE4=DEVL;;
*) WMD_UPHASE4=DEVL;;
esac
I am unable to... (3 Replies)
Discussion started by: Arun Mishra
3 Replies
10. Shell Programming and Scripting
Hi,
Can the below be clarified please. i just want to know what is the difference between the two ways of assigning variables as mentioned below.
export SRC_TBL=${SRC_TBL-"MMA_COPAY_PLN_FACT_STG"}
export SRC_TBL="MMA_COPAY_PLN_FACT_STG"
thanks in advance :)
Arun (1 Reply)
Discussion started by: Arun Mishra
1 Replies
SHMGET(2) BSD System Calls Manual SHMGET(2)
NAME
shmget -- get shared memory area identifier
SYNOPSIS
#include <sys/shm.h>
int
shmget(key_t key, size_t size, int shmflg);
DESCRIPTION
shmget() returns the shared memory identifier associated with the key key.
A shared memory segment is created if either key is equal to IPC_PRIVATE, or key does not have a shared memory segment identifier associated
with it, and the IPC_CREAT bit is set in shmflg.
If a new shared memory segment is created, the data structure associated with it (the shmid_ds structure, see shmctl(2)) is initialized as
follows:
o shm_perm.cuid and shm_perm.uid are set to the effective uid of the calling process.
o shm_perm.gid and shm_perm.cgid are set to the effective gid of the calling process.
o shm_perm.mode is set to the lower 9 bits of shmflg.
o shm_lpid, shm_nattch, shm_atime, and shm_dtime are set to 0
o shm_ctime is set to the current time.
o shm_segsz is set to the value of size.
o The ftok(3) function may be used to generate a key from a pathname.
RETURN VALUES
Upon successful completion a positive shared memory segment identifier is returned. Otherwise, -1 is returned and the global variable errno
is set to indicate the error.
ERRORS
The shmget() system call will fail if:
[EACCES] A shared memory segment is already associated with key and the caller has no permission to access it.
[EEXIST] Both IPC_CREAT and IPC_EXCL are set in shmflg, and a shared memory segment is already associated with key.
[EINVAL] No shared memory segment is to be created, and a shared memory segment exists for key, but the size of the segment associ-
ated with it is less than size, which is non-zero.
[ENOENT] IPC_CREAT was not set in shmflg and no shared memory segment associated with key was found.
[ENOMEM] There is not enough memory left to created a shared memory segment of the requested size.
[ENOSPC] A new shared memory identifier could not be created because the system limit for the number of shared memory identifiers
has been reached.
LEGACY SYNOPSIS
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int
shmget(key_t key, int size, int shmflg);
All of these include files are necessary. The type of size has changed.
SEE ALSO
ftok(3), shmat(2), shmctl(2), shmdt(2), compat(5)
BSD
August 17, 1995 BSD