06-23-2016
Quote:
Originally Posted by
ocbit
The code I provided works perfectly fine as I posted it.
Sorry, impossible. Inside
awk, TXT and XML are uninitialized variables, thus empty, and can't be used neither as a index into an array nor as a reasonable assignment value. Plus, with the leading $-sign, their contents will be interpreted as a field identifier and MUST be numeric. Again, leading nowhere.
Outside, they are just filenames, aren't they, so nothing to replace anything?
Quote:
Why would I post it and say it works if it doesn't?
Not sure...?
For your original question, place a
print just before and just after the replacement statements to see the difference.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have several columns by the name A B C D E...... and I want to print all the column other than column C and D. Could you please help me with the awk script?
Thanks!! (3 Replies)
Discussion started by: kn.naresh
3 Replies
2. Shell Programming and Scripting
Dear People,
My query is:
have a file, which looks likes this:
10 20 30 40 50
1 2 3 4 5
100 200 300 400 500
what i need is: "PRINT EACH LINE TO AN UNIQUE FILE"
desired output:
file 1
10 20 30 40 50
file 2
1 2 3 4 5 (3 Replies)
Discussion started by: saint2006
3 Replies
3. Shell Programming and Scripting
Hi,
I wrote an awk script to analyse file A.
I call the script with files A and B. File A has lines like:
000000033100001
000000036100001
000000039100001
The first 9 characters are interpreted as a line number;
for each line number found I want to output this line number of file B.
... (13 Replies)
Discussion started by: kpg
13 Replies
4. Shell Programming and Scripting
Hi, Please read the whole thread.
I have been working on this script below. It works fine, feel free to copy and test with the INPUT File below as well.
example:
PACKET DATA PROTOCOL CONTEXT DATA
APNID PDPADD EQOSID VPAA PDPCH PDPTY PDPID
10 ... (6 Replies)
Discussion started by: panapty
6 Replies
5. Shell Programming and Scripting
I found that
echo "aaa" | awk '{print ",\\";}'
works, and it will give "\".
but
ddd=`echo "aaa" | awk '{print ",\\";}'`; echo $ddd
will not work.
Could anyone tell me why? thank you. (8 Replies)
Discussion started by: wxuyec
8 Replies
6. Fedora
pointsb=`awk -v a2="$a2" -v b2="$b2" -v c2="$c2" -v yb="$yb" -v yc="$yc" \
'BEGIN { for (y=yc; y<=yb; y++) { x = a2*y*y+b2*y+c2; print x, y }; }'`
I am learning shell script. I was reading a script and got confused in this line.
I understood that awk is allowing to assign the variable.
But... (10 Replies)
Discussion started by: agriz
10 Replies
7. Shell Programming and Scripting
GOODNUMBERS="1 2 3 4 5 6 3 3 34 34 5 66 12"
BADNUMBERS="7 3 12 5 66"
for eachnum in `echo ${GOODNUMBERS}`
do
echo ${BADNUMBERS} | gawk -v threshold=${eachnum} '$1 != threshold'
done
what im trying to do with the above is, i want to print numbers that are in the GOODNUMBERS... (10 Replies)
Discussion started by: SkySmart
10 Replies
8. Shell Programming and Scripting
I need a script that will search for a string from column 1 in file A and when the string matches the last column in file B, print columns 1, 2 (file A) and columns 2, 3 (file B).
input
file A
stringtomatch1 a
stringtomatch2 a
stringtomatch3 b
file B
junkcolumn1 printcolumn2... (4 Replies)
Discussion started by: ncwxpanther
4 Replies
9. Shell Programming and Scripting
I have the following awk script that looks at the first 2 columns of multiple files and when they match, it prints the min of the 3rd column.
for year in tave-{1950..2015}.txt
do
cat "$year"
done |
awk '{n=$3; $3=x} !($0 in A) || n<A {A=n} END{for(i in A) print i A}' > output.txt
... (3 Replies)
Discussion started by: ncwxpanther
3 Replies
10. UNIX for Beginners Questions & Answers
Dear team,
Need support to built awk script for below requirement
Input file
LOTC cluster state:
-------------------
Node safNode=SC_2_1 joined cluster |
Node safNode=SC_2_2 joined cluster |
Node safNode=PL_2_3 fail cluster |
AMF cluster state:
------------------... (16 Replies)
Discussion started by: shanul karim
16 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)
NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS
--debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.16.3 2010-06-11 SHELL-QUOTE(1)