Which shell are you using? What is the version of awk? My bash (version 4.1.2) and awk (version GNU Awk 3.1.7) work smooth without spilling out errors.
Typically the command awk --version will generate the version of awk that you are using. If you are running on Solaris, it's wise to use nawk instead as the default awk in that environment is quite old and has lots of limitations.
The command uname -a will generate information about the OS you are running and the version.
Running echo $SHELL at the command prompt should give you the name of the shell you are using. To get the version you might might trying running the shell name with --version on the command line; modern versions of Korn shell and bash support this.
As for your problem...
What is generating the error message is in your printf() statement. You do not need the dollar sign in front of the variable name fstr. Past that, the bit of quoting that was suggested should work.
I'm not a fan of opening and closing quotes in the middle of an awk programme as that leads to maintenance problems. If it is just one string that you need to have single quotes appear in you could try this:
Supplying the variable on the awk command, outside of the programme, allows you to use the single quotes within the double quotes, and it's easier to read (IMHO).
Hi,
I am trying to read an Oracle listener log file line by line and need to separate the lines into several fields. The field delimiter for the line happens to be an asterisk.
I have the script below to start with but when running it, the echo command is globbing it to include other... (13 Replies)
I am searching a file and not able to escape a space if $i has a space in the name. I tried escaping it with a \ and also trying to add it to allow for spaces in the search. Neither are correct as the first awk only outputs path and the second awk doesn't run. Thank you :).
first awk
awk... (3 Replies)
This is a bit off the wall, but I often need to run scripts where there are argument values that contain special characters.
For example,
$ ./process.exe -t M -N -o temp.mol.s -i ../molfiles/N,N\',N\'\'-trimethylbis\(hexamethylene\)triamine.mol && sfile_space_to_tab.sh temp.mol.s temp.s
It... (1 Reply)
I am having issues escaping special characters in my AWK script as follows:
for id in `cat file`
do
grep $id in file2 | awk '\
BEGIN {var=""} \
{ if ( /stringwith+'|'+'50'chars/ ) {
echo "do this"
} else if ( /anotherString/ ) {
echo "do that"
} else {
... (4 Replies)
I tried to parse data from switch configuration files
vlan 1727 name SQ5506-15 by port
tagged ethe 8/1 to 8/2
untagged ethe 1/13
!
vlan 2105 name SQ5620-7007(BR2) by port
tagged ethe 8/1 to 8/2
untagged ethe 1/17
!
interface ethernet 1/13
port-name SQ5506-15.nic0
rate-limit... (2 Replies)
I have a file that is a log file for web traffic. I would like to convert the timestamp in it to unix time or epoch time.
I am using the date command in conjunction with awk to try to do this. Just
myfile:
28/Aug/1995:00:00:38 1 /pub/atomicbk/catalog/home.gif 813
28/Aug/1995:00:00:38 1... (3 Replies)
I'm using awk '{print $1}' and it works most of the time to print the contents of a mysql query loop, but occationally I get a field with some special character in it, is there a way to tell awk to ignore all special characters between my FS? I have >186K records, so building a list of ALL special... (6 Replies)
Hi ,
I want to change space to ' in my script.
I tried doing this,
sed 's/ /\'/g' filename
but i could not get it.
can some one help me please.
Thanks,
Deepak (4 Replies)
Hi
I'm trying to split a dir listing
eg
/home/foo1/foo2
I'm using ksh
I've tried
dir=/home/foo1/foo2
splitit=`echo $dir | awk -F '\/' '{print $1}'`
echo $splitit
nothing is output!
I have checked the escape character. The only one I have found is \
BTW `pwd` | awk -F \/... (8 Replies)