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
service(8)						      System Manager's Manual							service(8)

NAME
service - run a System V init script SYNOPSIS
service SCRIPT COMMAND [OPTIONS] service --status-all service --help | -h | --version DESCRIPTION
service runs a System V init script in as predictable environment as possible, removing most environment variables and with current working directory set to /. The SCRIPT parameter specifies a System V init script, located in /etc/init.d/SCRIPT. The supported values of COMMAND depend on the invoked script, service passes COMMAND and OPTIONS it to the init script unmodified. All scripts should support at least the start and stop commands. As a special case, if COMMAND is --full-restart, the script is run twice, first with the stop command, then with the start command. service --status-all runs all init scripts, in alphabetical order, with the status command. EXIT CODES
service calls the init script and returns the status returned by it. FILES
/etc/init.d The directory containing System V init scripts. ENVIRONMENT
LANG, TERM The only environment variables passed to the init scripts. SEE ALSO
/etc/init.d/skeleton, update-rc.d(8), init(8), invoke-rc.d(8). Jan 2006 service(8)
All times are GMT -4. The time now is 04:31 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy