03-12-2009
Using echo in AWK
Hello,
I have written the script below to extract specific data from a text file and then use the data extracted as parameters for another shell script call 'loto_tsim'.
Everytime I run my script it complains about the 'echo' line. Am I missing something? I have spent hours and still cannot solve this, can anyone help?
#!/bin/sh
awk 'NR==1 {n = split($3, array, "-");
lotoE="1\n 20\n 0\n 0\n 1\n 1\n 7\n 0\n array[1]\n array[2]\n array[3]\n array[4]\n array[5]\n array[6]\n 1\n 1\n 0\n 0\n 0\n N\n 1\n 100\n"
echo ${lotoE} | $LOTO/bin/loto_tsim > /dev/null 2>&1
}' LottWagers2.txt
----------------------THIS IS THE ERROR------------------------------
Syntax Error The source line is 6.
The error context is
echo >>> ${ <<<
awk: 0602-502 The statement cannot be correctly parsed. The source line is 6.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello All,
Below is a simple script i worte to find the 208th char in a file. If the char = "C" then I re-direct the line to a file called change.txt. If it is not "C" then I re-direct it to a file called delete.txt.
My problem is I have a file 0f 500K lines. this script is very slow. I am... (4 Replies)
Discussion started by: eja
4 Replies
2. Shell Programming and Scripting
Hi All,
I have the below command.
awk 'BEGIN {printf("%1s","cat")}' > temp.txt
can i do the same using echo ?If So, how?
Thanks
JS (2 Replies)
Discussion started by: jisha
2 Replies
3. Shell Programming and Scripting
hi,
just wanted to make a shortcut of this one
a="a b c"
b=`echo $a | awk '{print $2}'`
echo "the middle is $b"
why can't i do this:
a="a b c"
echo "the middle is ${`echo $a | awk '{print $2}'`}" <- bad substitution :wall:
thanks (6 Replies)
Discussion started by: h0ujun
6 Replies
4. Shell Programming and Scripting
Hi,
I have a script which looks like this.
Input file
data1^20
data2^30
#!/bin/sh
file"/home/Test.txt"
while read line
do
echo $line |awk 'BEGIN { FS = "^" } ; { print $2 }'
echo $line |awk 'BEGIN { FS = "^" } ; { print $1 }' | gzip | wc -c
done <"$file"
How can i... (4 Replies)
Discussion started by: chetan.c
4 Replies
5. Shell Programming and Scripting
Hello all,
I wrote this command line for some calculation on my given input files based on another input file which is a txt file.
while read BAM REGION; do samtools view $BAM $REGION | awk '{if ($2==0) print $0}' | wc -l >>log.txt; echo "$REGION"; done >> log.txt <regions.txt
It takes... (4 Replies)
Discussion started by: @man
4 Replies
6. Shell Programming and Scripting
# echo 'export HISTFILE=/var/log/history/history_$(uname -n)_$(date +%Y:%b:%d:%H:%M)_$(who am i | awk '{print \$1}')' >> new_file
#
# cat new_file
export HISTFILE=/var/log/history/history_$(uname -n)_$(date +%Y:%b:%d:%H:%M)_$(who am i | awk {print $1})
#
Now how to echo the quotes around the... (2 Replies)
Discussion started by: proactiveaditya
2 Replies
7. Shell Programming and Scripting
i have a script that has many lines similar to:
echo $var | awk -F"--" '{print $2}'
as you can see, two commands are being run here. echo and awk.
id like to combine this into one awk statement.
i tried:
awk -F"--" "BEGIN{print $var; print $2}"
but i get error messages. (10 Replies)
Discussion started by: SkySmart
10 Replies
8. Shell Programming and Scripting
Stumped with the formatting of the awk output when used with variables, e.g.:
awk -F, 'BEGIN {OFS=","} print {$2,$3,$4}' $infile1
produces the desired output (with rows), but when echoing the variable below, the output is one continuous line
var1=$(awk -F, 'BEGIN {OFS=","} print... (4 Replies)
Discussion started by: ux4me
4 Replies
9. Shell Programming and Scripting
Hello,
I've been trying to find the answer to this with Google and trying to browse the forums, but I haven't been able to come up with anything. If this has already been answered, please link me to the thread as I can't find it.
I've been asked to write a script that pulls a list of our CPE... (51 Replies)
Discussion started by: rwalker
51 Replies
10. UNIX for Beginners Questions & Answers
Hi,
I am generating a YAML file from a hosts file, but am having trouble saving it to a new file.
hosts file
127.0.0.1 localhost
192.168.1.2 host1
192.168.1.3 host2
192.168.1.4 host3
192.168.1.5 host4
YAML file
$ echo 'host_entries:' && awk '{printf " %s:\n ip:... (3 Replies)
Discussion started by: sand1234
3 Replies
LEARN ABOUT DEBIAN
shunit2
SHUNIT2(1) SHUNIT2(1)
NAME
shunit2 - A unit test framework for shell scripts
SYNOPSIS
shunit2 unitfile
DESCRIPTION
shUnit2 is a xUnit unit test framework for Bourne based shell scripts, and it is designed to work in a similar manner to JUnit, PyUnit,
etc.. If you have ever had the desire to write a unit test for a shell script, shUnit2 can do the job.
You can either run shunit2 directly from the commandline and specify the unit file or directly source the shunit2 executable.
If you directly execute shunit2 and don't specify a unitfile shunit2 assumes a empty testfile and will return without an error message.
EXAMPLE
Simple script to test if 1 equals 1
#! /bin/sh
testEquality()
{
assertEquals 1 1
}
# load shunit2
. shunit2
Execute shUnit2 unit tests directly from the commandline
shunit2 /path/to/unit/file
OPTIONS
shunit2 does not support any commandline options at all. You can either source shunit2 to execute your unit tests or directly run shunit2
as a commandline script.
SEE ALSO
For more information see http://code.google.com/p/shunit2/ or have a look at the installed documentation in /usr/share/doc/shunit2/
AUTHOR
shunit2 was written by Kate Ward <kate.ward@forestent.com>. This manpage was written by Ulrich Dangel <mru@spamt.net>.
2.1.6 03/25/2012 SHUNIT2(1)