That is several useless uses of awk and backticks... You could just do
Code:
for FILE in file1 file2 file3 file4 file5 file6 file7 file8
do
...
done
or
Code:
while read FILE
do
...
done < list.txt
Also, why should it be printing what you want? You're telling it to print x lines, you get x lines.
Also, why should it be printing the new values? You stored the old values in the array, and that's what you get.
You don't need to do either of them. You don't need an array, and you don't need to store all the old values.
In fact you don't need a loop at all, awk is quite capable of handling more than one file all by itself.
So:
Code:
# Store these things in a file for awk to grab easily
cat >trans.txt <<EOF
AAA,-10
BBB,20
CCC,30
EOF
awk -F"," -v OFS="," '
# Load data from trans.txt, the very first file
NR==FNR { T[$1]=$2; next }
# Translate data if found in array
$8 in T { $8=T[$8] }
{ print > FILENAME ".aaa" }' trans.txt file*
Last edited by Corona688; 10-31-2012 at 01:47 PM..
I'm building a file with sql delete statements. I need to print the single quotes for the where clause.
i.e.
delete from Command where CommandName = 'SomeName';
I have the following in my script
input=$(pwd)/Cmnd.csv
i=0
while read line
do
if test $i -ge 1;
then
... (2 Replies)
How do I access one of the indices in array tst with the code below?
tst=sprintf("%5.2f",Car / 12)
When I scan thru the array with
for ( i in tst ) { print i,tst }
I get the output of:
vec-7 144
But when I try this in the END
print tst
It looks like it's not set.
What am... (6 Replies)
Hi all,
It is a very stupid problem but I am not able to find a solution to it.
I am using awk to get a column from a file and I want to get the output field in between single quotes. For example,
Input.txt
123 abc
321 ddff
433 dfg
........
I want output file to be as
... (6 Replies)
Actually I got a list of file end with *.txt
I want to use the same command apply to all the *.txt
Thus I try to find out the fastest way to write those same command in a script and then want to let them run automatics.
For example:
I got the file below:
file1.txt
file2.txt
file3.txt... (4 Replies)
cat a | awk -F";" '{print "update db set column=' "$2" ' where column1=\""$1"\";"}' > ip-add.sql
Hi! I'm a new user!
i've an urgent help on the single apex use in the double apex print string
The apex between che "$2" should not be interpreted, but....how?!
I'm trying to use \ but don't work... (1 Reply)
I am creating a report in groff and need to format data from a file into a
table cell.
Sample data:
dador,173323,bpt,jsp,39030013338878,1
dador,173323,brew,jsp,39030013338860,1
dador,173323,brew,jsp,39030013339447,1
dador,173323,brew,jsp,39030013339538,1
I would like to build a table... (12 Replies)
How do you print out a single quote character in AWK? Using the escape character does not seem to work.
{printf "%1$s %2$s%3$s%2$s\n" , "INCLUDE", " \' ", "THIS" }
does not work. Any suggestions? (6 Replies)
I have test.sh file as below :
set -A IDARR $ID
echo | awk -f test.awk -v TempArr="${IDARR
}"
I have test.awk file as below :
BEGIN {
Flag = 1;
}
{
print "Hello";
for(i in TempArr)
{
print i;
}
} (9 Replies)
Discussion started by: nes
9 Replies
LEARN ABOUT OSF1
merge
merge(1)merge(1)NAME
merge - three-way file merge
SYNOPSIS
merge [-Llabel1 [-Llabel3]] [-p] [-q] file1 file2 file3
DESCRIPTION
merge incorporates all changes that lead from file2 to file3 into file1. The result goes to standard output if -p is present, into file1
otherwise. merge is useful for combining separate changes to an original. Suppose file2 is the original, and both file1 and file3 are
modifications of file2. Then merge combines both changes.
An overlap occurs if both file1 and file3 have changes in a common segment of lines. On a few older hosts where diff3 does not support the
-E option, merge does not detect overlaps, and merely supplies the changed lines from file3. On most hosts, if overlaps occur, merge out-
puts a message (unless the -q option is given), and includes both alternatives in the result. The alternatives are delimited as follows:
<<<<<<< file1 lines in file1 ======= lines in file3 >>>>>>> file3
If there are overlaps, the user should edit the result and delete one of the alternatives. If the -L label1 and -L label3 options are
given, the labels are output in place of the names file1 and file3 in overlap reports.
DIAGNOSTICS
Exit status is 0 for no overlaps, 1 for some overlaps, 2 for trouble.
IDENTIFICATION
Author: Walter F. Tichy.
Revision Number: 1.1.6.2; Release Date: 1993/10/07.
Copyright (C) 1982, 1988, 1989 by Walter F. Tichy.
Copyright (C) 1990, 1991 by Paul Eggert.
SEE ALSO diff3(1), diff(1), rcsmerge(1), co(1)merge(1)