How to combine awk and bash commands in script ?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to combine awk and bash commands in script ?
# 1  
Old 03-01-2013
How to combine awk and bash commands in script ?

Dear friends,

I am just trying write one script using 2 files
one file will contain details like below

Code:
#X SERVER X LOCATION
URL="http://www.abcd.com"
FILENAME="abc.txt"
ID_NAME="myabc_xyz"
SERVER_PATH="/usr/local/dummy/html/....."

#Y SERVER Y LOCATION
URL="http://www.xyz.com"
FILENAME="xyz.txt"
ID_NAME="my_dummy_xyz"
SERVER_PATH="/usr/local/server/htm/dummy"

#DUMMY SERVER
 URL="http://www.dummy.com"
 FILENAME="dummy.txt"
 ID_NAME="LMNOP"
 SERVER_PATH="/home/user/abc"

another file will be shell script to process above details
which looks like this

Code:
cd /mypath
sh javascript.sh -x $URL

mv myjava_file $FILENAME

sed -e "s/abcdic...... name\=\"/$ID_NAME name\=\"/g" $FILENAME

find $SERVER_PATH  -iname "*$FILENAME" -delete

mv $FILENAME $SERVER PATH

Here my problem is how do I use above server detail one after another in processing shell script ?

processing shell script should use X server and X location details such as URL, SERVER_PATH, FILENAME, ID_NAME first, then Y server, Z server till end of file..

please help...
# 2  
Old 03-01-2013
Code:
#!/bin/bash

while read line
do
        [[ "$line" =~ ^# ]] && continue
        [[ "$line" =~ ^URL ]] && URL="${line#*=}"
        [[ "$line" =~ ^FILENAME ]] && FILENAME="${line#*=}"
        [[ "$line" =~ ^ID_NAME ]] && ID_NAME="${line#*=}"

        if [[ "$line" =~ ^SERVER_PATH ]]
        then
                SERVER_PATH="${line#*=}"
                URL="${URL//\"/}"
                FILENAME="${FILENAME//\"/}"
                ID_NAME="${ID_NAME//\"/}"
                SERVER_PATH="${SERVER_PATH//\"/}"

                # Now you have all values in variable. 
                # Put your code here
        fi

done < filename

This User Gave Thanks to Yoda For This Post:
# 3  
Old 03-02-2013
before putting my code I tried to use echo its not printing

Code:
# Now you have all values in variable. 
 # Put your code here
        echo $URL
        echo $FILENAME
        echo $ID_NAME
        echo $SERVER_PATH
        fi

manually I pasted on terminal



Code:
URL="http://www.abcd.com" 
FILENAME="abc.txt"
ID_NAME="myabc_xyz" 
SERVER_PATH="/usr/local/dummy/html/....."

got output --->

Code:
echo $URL
http://www.abcd.com
user@as:~/Documents/sh$ echo $FILENAME
abc.txt
user@as:~/Documents/sh$ echo $SERVER_PATH
/usr/local/dummy/html/.....

here is error msg
Code:
process.sh: 6: process.sh: [[: not found
process.sh: 7: process.sh: [[: not found
process.sh: 8: process.sh: [[: not found
process.sh: 9: process.sh: [[: not found
process.sh: 11: process.sh: [[: not found
process.sh: 6: process.sh: [[: not found
process.sh: 7: process.sh: [[: not found
process.sh: 8: process.sh: [[: not found
process.sh: 9: process.sh: [[: not found
process.sh: 11: process.sh: [[: not found

# 4  
Old 03-02-2013
What OS & shell are you using?

Also I noticed that there are some space in front of the string, so remove the caret ^
Code:
#!/bin/bash

while read line
do
        [[ "$line" =~ ^# ]] && continue
        [[ "$line" =~ URL ]] && URL="${line#*=}"
        [[ "$line" =~ FILENAME ]] && FILENAME="${line#*=}"
        [[ "$line" =~ ID_NAME ]] && ID_NAME="${line#*=}"

        if [[ "$line" =~ SERVER_PATH ]]
        then
                SERVER_PATH="${line#*=}"
                URL="${URL//\"/}"
                FILENAME="${FILENAME//\"/}"
                ID_NAME="${ID_NAME//\"/}"
                SERVER_PATH="${SERVER_PATH//\"/}"

                echo "URL: $URL"
                echo "FILENAME: $FILENAME"
                echo "ID_NAME: $ID_NAME"
                echo "SERVER_PATH: $SERVER_PATH"
        fi

done < filename

This User Gave Thanks to Yoda For This Post:
# 5  
Old 03-02-2013
Code:
/bin/bash

Ubuntu 12.04 LTS 32-bit
# 6  
Old 03-02-2013
Works for me on Redhat Linux:

Here is the input file:
Code:
$ cat filename
#X SERVER X LOCATION
URL="http://www.abcd.com"
FILENAME="abc.txt"
ID_NAME="myabc_xyz"
SERVER_PATH="/usr/local/dummy/html/....."

#Y SERVER Y LOCATION
URL="http://www.xyz.com"
FILENAME="xyz.txt"
ID_NAME="my_dummy_xyz"
SERVER_PATH="/usr/local/server/htm/dummy"

#DUMMY SERVER
 URL="http://www.dummy.com"
 FILENAME="dummy.txt"
 ID_NAME="LMNOP"
 SERVER_PATH="/home/user/abc"

Here is the o/p:
Code:
$ ./script
URL: http://www.abcd.com
FILENAME: abc.txt
ID_NAME: myabc_xyz
SERVER_PATH: /usr/local/dummy/html/.....
URL: http://www.xyz.com
FILENAME: xyz.txt
ID_NAME: my_dummy_xyz
SERVER_PATH: /usr/local/server/htm/dummy
URL: http://www.dummy.com
FILENAME: dummy.txt
ID_NAME: LMNOP
SERVER_PATH: /home/user/abc

# 7  
Old 03-02-2013
then is there any provision to get output in ubuntu 12.04 ?

---------- Post updated at 11:32 PM ---------- Previous update was at 11:27 PM ----------

I installed
Code:
ksh

its printing in #DUMMY SERVER at #1 I had put space(typing mistake) in actual file there is no space , whether I can remove
Code:
^

? and please explain code also..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using commands within bash script

The purpose of enclosed script is to execute selected command and output success or failure in whiptail msgBox Works as expected when command returns zero to msgBox. I cannot figure out how to continue / automate my script when command expects reply to continue / terminate. I am doing it... (2 Replies)
Discussion started by: annacreek
2 Replies

2. Shell Programming and Scripting

Combine 2 Commands

Hello, I have the following code. I wonder if it can be combined into 1 command. y=`ls -1| tail -n 1` m=${y%.abc} Thank you. (3 Replies)
Discussion started by: april
3 Replies

3. Shell Programming and Scripting

Combine two awk commands

Hi, Can someone please guide me how to combine the following two awk calls in one? I noticed that it is very often situation for me, and I think that it can be replaced with one awk call. The question is more general, not the exact one. echo "A B C/D" | awk '{print $3}' | awk -F/ '{print... (4 Replies)
Discussion started by: mirusnet
4 Replies

4. Shell Programming and Scripting

Combine awk commands into one

my code: gawk 'NR>'"${LASTLINENUM}"' && NR<='"${LINEENDNUM}"'' ${LOGFILE} | gawk '{l=$0;} /'"${STRING1}"'/ && /'"${STRING2}"'/ {for (i=NR-'"${BEFOREGLAF}"'; i<=NR+'"${AFTERGLAF}"'; i++) o=i; t++;} END { for(i=1; i<=NR; i++) if (o) print l; print t+=0;}' i would like to combine this into one... (5 Replies)
Discussion started by: SkySmart
5 Replies

5. UNIX for Dummies Questions & Answers

Combine Both Output from the awk Script

Hi, Is there anyway to combine output from the awk scripting. file01.txt: AUE_CHMOD AUE_CHOWN AUE_CHROOT AUE_CONNECT AUE_ACCEPT AUE_FCHOWN AUE_FCHMOD AUE_SETREUID AUE_SETREGID AUE_FCHROOT AUE_PFEXEC AUE_SETUID AUE_NICE AUE_SETGID (9 Replies)
Discussion started by: alvinoo
9 Replies

6. Shell Programming and Scripting

Pipe or combine output of three awk commands

What is the correct syntax to pipe or run three awk commands? Basically, using the output of the first awk as input in the second. Then using the output of the second awk in the third. Thank you :). awk 'FNR==NR {E; next }$3 in E {print $3, $5}' panel_genes.txt RefSeqGene.txt > update.txt |... (3 Replies)
Discussion started by: cmccabe
3 Replies

7. Shell Programming and Scripting

How to combine 2 bash script into 1?

Hi all, I’ve quick question on bash scripting. Here is my initial input. This is just an example. The value could be different numbers/ip addresses. host.txtFinal output should be like this. output-final.txt In order to have this, I’ve 2 different scripts. The first one is just to... (6 Replies)
Discussion started by: type8code0
6 Replies

8. Shell Programming and Scripting

Combine multiple awk commands

Hi Team, I am getting input like below $ ps -ef | grep pmon | grep -v asm | grep -v grep oracle 3246 1 0 00:03 ? 00:00:01 ora_pmon_racora1 oracle 4367 1 0 00:03 ? 00:00:01 ora_pmon_test1 oracle 6893 1 0 00:03 ? 00:00:01 ora_pmon_gipora1... (6 Replies)
Discussion started by: kamauv234
6 Replies

9. Shell Programming and Scripting

Combine several commands in a bash script

Hi all, I have large files with url-s ending on "|<number>" which is the Page Rank for the website as shown in the example below http://www.machinokairo.com/2012/05/post-39.html|2 I am using "grep" to sort out all url-s in a particular way: first, remove all ending on "|0" and write the... (9 Replies)
Discussion started by: georgi58
9 Replies

10. UNIX for Dummies Questions & Answers

How to combine and insert missing consecutive numbers - awk or script?

Hi all, I have two (2) sets of files that are based on some snapshots of database that I want to merge and insert any missing sequential number. Below are example representation of these files: file1: DATE TIME COL1 COL2 COL3 COL4 ID 01/10/2013 0800 100 ... (3 Replies)
Discussion started by: newbie_01
3 Replies
Login or Register to Ask a Question