Sponsored Content
Top Forums Shell Programming and Scripting Sed, replace variables in file Post 302800965 by hanson44 on Wednesday 1st of May 2013 02:22:19 AM
Old 05-01-2013
If you are totally new to sed, I'm not sure this is the best problem to start on. But it doesn't matter. Smilie Here is one way to do it:
Code:
$ cat test.sh
# : is chosen as a special character not otherwise in any of the files
fileA=`tr "\n" ":" < fileA | sed "s/:$//"`
fileB=`tr "\n" ":" < fileB | sed "s/:$//"`
sed -e "s/\$a/$fileA/g" -e "s/\$b/$fileB/g" -e 's/$\$/$/g' template | tr ":" "\n"

Code:
$ ./test.sh
aaaa1234bbbb456
789cc$cc

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

variables use upper case? sed : output to the same file?

Hi, Q1: are the variables in shell script usually UPPER CASE? Q2: can sed output to the same file that it's using it? eg. cat sameFile | sed 's/here/there/g' > sameFile ? I expect the sed replace all "here" to "there" and change it in sameFile. i tried that one, the sameFile... (1 Reply)
Discussion started by: gusla
1 Replies

2. UNIX for Dummies Questions & Answers

Problems with sed and flat file variables

Hello All, It has been a loooooooooooong time since I had last used sed but decided to use it for a simple task I have . My goal is to use sed to read variables from a flat file then use those same variables in order to make some subsitutions. However what I am finding is that when the... (1 Reply)
Discussion started by: icalderus
1 Replies

3. Shell Programming and Scripting

Replace environment variables with sed

Hi, I need to write a sed that replaces the value of all environment variables that have PASS in the name with ***** . I have a log file who prints the value of all environment variables ,including those who hold passwords. In the name of these variables I found always the PASS string, ex:... (16 Replies)
Discussion started by: liorfe
16 Replies

4. Shell Programming and Scripting

using sed to replace a specific string on a specific line number using variables

using sed to replace a specific string on a specific line number using variables this is where i am at grep -v WARNING output | grep -v spawn | grep -v Passphrase | grep -v Authentication | grep -v '/sbin/tfadmin netguard -C'| grep -v 'NETWORK>' >> output.clean grep -n Destination... (2 Replies)
Discussion started by: todd.cutting
2 Replies

5. Shell Programming and Scripting

How to use sed to replace the a string in the same file using sed?

How do i replace a string using sed into the same file without creating a intermediate file? (7 Replies)
Discussion started by: gomes1333
7 Replies

6. Shell Programming and Scripting

replace two character strings by two variables with sed command

Hello, I want to writte a script that replace two character strings by two variables with the command sed butmy solution doesn't work. I'm written this: sed "s/TTFactivevent/$TTFav/g && s/switchSLL/$SLL/g" templatefile. I want to replace TTFactivevent by the variable $TTFav, that is a... (4 Replies)
Discussion started by: POPO10
4 Replies

7. Shell Programming and Scripting

Read file and for each line replace two variables, add strings and save output in another file

Hi All, I have a file, let's call it "info.tmp" that contains data like this .. ABC123456 PCX333445 BCD789833 I need to read "info.tmp" and for each line add strings in a way that the final output is put /logs/ua/dummy.trigger 'AAA00001.FTP.XXX.BLA03A01.xxxxxx(+1)' where XXX... (5 Replies)
Discussion started by: Andy_ARG
5 Replies

8. UNIX for Dummies Questions & Answers

How to use sed to copy specific lines from a file using shell variables?

hello! I am trying to use sed to copy specific set of lines from a file for which the starting and ending line numbers of the lines to be copied are stored in shell variables. How can i copy those lines? if the input_file is something like this and if the following is the script a=2 b=4... (4 Replies)
Discussion started by: a_ba
4 Replies

9. Shell Programming and Scripting

environment variables in a sed script file

Hello Everyone I need to create a script file which must append some lines to a target text file, I'm using sed for windows, the script file look like this: { a\ STRINGTABLE DISCARDABLE\ BEGIN\ 5, 150 {a\ #define RC_SHELL, "%ID_SHELL%"\ #define RC_NAME, "%ID_NAME%"\ END } ... (1 Reply)
Discussion started by: edgarvm
1 Replies

10. Shell Programming and Scripting

awk search/replace specific field, using variables for regexp & subsitution then overwrite file

Hello, I'm trying the solve the following problem. I have a file which I intend to use as a csv called master.csv The columns are separated by commas. I want to change the text on a specific row in either column 3,4,5 or 6 from xxx to yyy depending upon if column 1 matches a specified pattern.... (3 Replies)
Discussion started by: cyphex
3 Replies
GETOPTS(3)						  libbash getopts Library Manual						GETOPTS(3)

NAME
getopts -- libbash library for command line parameters parsing SYNOPSIS
$retval getopt_long <Instructions> <Parameters> DESCRIPTION
This is a documentation for libbash getopts library, that implements getopt_long function for bash(1). For documentation of bash getopts function, please see getopts(1) ( getopts(1posix) on some systems). Here is a table for reference: getopts(1) (or 1posix on some systems) implemented by bash getopts(3) implemented by libbash. getopt(1) implemented by getopt utils (part of util-linux) getopt_long(1) implemented by libbash and installed to section 1 instead of 3 to prevent collision with C man pages. getopt(3) implemented by GNU C library. getopt_long(3) implemented by GNU C library. I have also seen separate getopt utility which part of util-linux package. The getopt_long function parses the command line arguments. It uses Instructions as the rules for parsing the Parameters. The Instructions A string that specifies rules for parameters parsing. The instructions string is built of a group of independent instructions, separated by a white space. Each instruction must have the following structure: -<SingleLetter>|--<MultiLetter>-><VariableName>[:] This structure contains three parts: -<SingleLetter> This is the parameter single-letter sign. For example -h. --<MultiLetter> This is the parameter's corresponding multi-letter sign. For example --help. <VariableName>[:] This is the name of the variable that will contain the parameter value. For example: HELP. The Variable name can represent one of two variables types: Flag variable (not followed by ':') In this case, it will hold the value 1 if 'on' (i.e. was specified on command line) and will not be defined if 'off'. Value variable (followed by ':') In this case, the value it will hold is the string that was given as the next parameter in the Parameters string (Separated by white-space or '=' ). If input contains more then one instance of the considered command line option, an array of the given parameters will be set as the value of the variable. The Parameters The Parameters are simply the parameters you wish to parse. RETURN VALUE
This function returns a string that contains a set of variables definitions. In order to define the variables, this string should be given as a parameter to eval function. This value is returned in the variable $retval. EXAMPLES
Parse command line parameters looking for the flags -h | --help and -v | --version and for the value -p | --path : getopt_long '-h|--help->HELP -v|--version->VERSION -p|--path->PATH:' $* eval $retval In this example, for the parameters --help --path=/usr/ the variables that will be created are: HELP=1 PATH=/usr/ for the parameters --help --path=/usr --path=/bin the variables that will be created are: HELP=1 PATH=(/usr /bin) BUGS
Values must not contain the string `__getopts__'. This string will be parsed as a single white-space. A value should not start with an already defined multi-letter sign. If such a value exists, it will be treated as the equivalent singe-letter sign. This bug only accures when using a single-letter sign, or a multi-letter sign that are not followed by a `='. For example: If we have a script named `foo', and we parse the parameters `-d|--dir:' and `-f|--file:', then foo -d --file and foo --dir --file will not work foo --dir=--file will work. AUTHORS
Hai Zaar <haizaar@haizaar.com> Gil Ran <gil@ran4.net> SEE ALSO
ldbash(1), getopt_long(1), getopts(1), getopt(1), libbash(1), getopt(3), getopt_long(3) Linux Epoch Linux
All times are GMT -4. The time now is 10:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy