Sponsored Content
Top Forums Shell Programming and Scripting Copy file and evaluate its internal variables Post 302763161 by Chubler_XL on Tuesday 29th of January 2013 03:43:42 PM
Old 01-29-2013
You could use awk (nawk or gawk).

This example looks for %%var%% and expands with the value of the shell variable. Note you need to export the variable so awk can see it:

expand.sh:
Code:
awk -F% ' /%%/ {
 while(match($0, "%%[A-Za-z0-9_]+%%")) {
    tmp = substr($0, 1, RSTART-1)
    var = substr($0, RSTART+2, RLENGTH-4);
    printf "%s%s", tmp, ENVIRON[var];
    $0=substr($0,RSTART+RLENGTH);
 }
 print; next } 1' $@

template:
Code:
dbname: %%DBNAME%%
dbusername:  %%DB_USER_NAME%%
dbpwd:  %%DB_PWD%%

Test script:
Code:
DBNAME="testing1"; export DBNAME
DB_USER_NAME="Test user"; export DB_USER_NAME
DB_PWD="/home/testing1"; export DB_PWD
./expand.sh template


Last edited by Chubler_XL; 01-29-2013 at 04:46 PM.. Reason: Formatting
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to evaluate the value read from a file?

Hi, Could someone please help me with how to do the following? Say I have a flat file test.lst and the content of the file is: Report Date - `date '+%m%d%Y'` I'm trying the following while read myLine do echo ${myLine} done<test.lst This prints Report Date - `date... (1 Reply)
Discussion started by: arunsoman80
1 Replies

2. UNIX for Advanced & Expert Users

Forwarding internal internet packets to internal webserver using iptables

Hi, I need to redirect internal internet requests to a auth client site siting on the gateway. Currently users that are authenticated to access the internet have there mac address listed in the FORWARD chain. All other users need to be redirected to a internal site for authentication. Can... (1 Reply)
Discussion started by: mshindo
1 Replies

3. UNIX for Dummies Questions & Answers

copy file using a variables

i am having a file name hello.txt i want to move it to some where in the destination folder suppose name is accnt i have done this things but not working , can't we assign a path to a variable #/bin/sh file =hello.txt dest ='accnt' cp $file $dest Thank & Regard Dina (3 Replies)
Discussion started by: Manabhanjan
3 Replies

4. Shell Programming and Scripting

File splitting, naming file according to internal field

Hi All, I have a rather stange set of requirements that I'm hoping someone here could help me with. We receive a file that is actually a concatenation of 4 files (don't believe this would change, but ideally the solution would handle n files). The super-file looks like:... (7 Replies)
Discussion started by: Leedor
7 Replies

5. 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

6. Shell Programming and Scripting

Need help in writing a script that do internal grep on a log file..and extract acct no's from it..

I need to write a script, which takes the input a log file and create output file with acct no's line by line from selected records with text like (in red) : 18:51:18 | 217863|Acct 0110855565|RC 17608| 16 Subs| 1596 UsgRecs| 2 Secs| 430 CPUms| prmis2:26213 <MoveUsage d aemon needs to run... (7 Replies)
Discussion started by: rkrish
7 Replies

7. Shell Programming and Scripting

Copy file to SD card from internal flash.

Hi, At first I have to say that I know nothing about Linux :( But I am looking for solution how to copy one file from internal Lowrnace HDS flash memory. Lowrance HDS is Linux based device. Here is the link for firmware update files for this unit. At the end of main firmware file there... (62 Replies)
Discussion started by: PouchX
62 Replies

8. UNIX for Dummies Questions & Answers

Read a flat file, evaluate and create output. UNIX SCRIPT.

Hi all, I have a flat file as below; 470423495|1||TSA-A000073800||1|||1 471423495|1||TSA-A000073800||5|||5 472423495|1||TSA-A000073800||2|||7 473423495|1||TSA-A000073800||3|||3 I like to create a Unix script. The script have to valuate the last two columns, if the values are... (4 Replies)
Discussion started by: mrreds
4 Replies

9. Shell Programming and Scripting

How to evaluate expressions in file

I have a situation where i need to evaluate expression and do substitutions in file file.ports port1=`expr $STARTINGPORT + 1` port2=`expr $STARTINGPORT + 2` port3=`expr $STARTINGPORT + 3` Intended output If my STARINGPORT is 100 port1=101 port2=102 port3=103 Can anyone please... (1 Reply)
Discussion started by: sasiharitha
1 Replies

10. UNIX for Dummies Questions & Answers

Copy same file with different variables

Hi All, I have same file with like 1xyz_1 ,1xyz_2 , 2ghj_1, 2ghj_2, 4wer_1, 4wer1_2 etc with lots of file having similar type of name. I want to creat folder and copy similar file to that folder. for example folder 1xyz should contain only 1xyz_1 ,1xyz_2. :mad: Thank you in Advance. ... (7 Replies)
Discussion started by: XXLMMN
7 Replies
IGAWK(1)							 Utility Commands							  IGAWK(1)

NAME
igawk - gawk with include files SYNOPSIS
igawk [ all gawk options ] -f program-file [ -- ] file ... igawk [ all gawk options ] [ -- ] program-text file ... DESCRIPTION
Igawk is a simple shell script that adds the ability to have ``include files'' to gawk(1). AWK programs for igawk are the same as for gawk, except that, in addition, you may have lines like @include getopt.awk in your program to include the file getopt.awk from either the current directory or one of the other directories in the search path. OPTIONS
See gawk(1) for a full description of the AWK language and the options that gawk supports. EXAMPLES
cat << EOF > test.awk @include getopt.awk BEGIN { while (getopt(ARGC, ARGV, "am:q") != -1) ... } EOF igawk -f test.awk SEE ALSO
gawk(1) Effective AWK Programming, Edition 1.0, published by the Free Software Foundation, 1995. AUTHOR
Arnold Robbins (arnold@skeeve.com). ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +--------------------+-----------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +--------------------+-----------------+ |Availability | SUNWgawk | +--------------------+-----------------+ |Interface Stability | Volatile | +--------------------+-----------------+ NOTES
Source for gawk is available on http://opensolaris.org. Free Software Foundation Nov 3 1999 IGAWK(1)
All times are GMT -4. The time now is 09:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy