06-19-2008
Quote:
Originally Posted by
dhanamurthy
Please modify the example
awk '{
key=substr($0,1,10)
key1=substr($0,1,21)
if(arr[key])
{
arr[key]=1
}
else
{
arr[key]=$0
}
}
END {for (i in arr) {print arr[i]} } ' file_name
dhanamurthy, thank you for your reply, but could you please specify how the array name "arr" was defined outside of awk snippet (in shell)?
and the $0 means every line from the file? so your statement key=substr($0,1,10) means the 1-10 characters of the lines in the file, but you use it like this arr[key], sorry I do not understand.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
I'm attempting to populate an array in ksh using the following command:
set -A $(SELECT_INVOICE | sed '/^$/d')
SELECT_INVOICE is a function that executes the SQL query.
Problem: Some of the invoice numbers have alpha characters with spaces(example: OVEN MICRO). The Korn shell is treating... (1 Reply)
Discussion started by: kdst
1 Replies
2. Shell Programming and Scripting
I read it is possible to provide values for an array with the -A option to the read statement; however, I have not been able to get this to work. When I execute a script with the -A option to the read statement, the shell complains that it is an illegal option. If this works, can someone provide... (5 Replies)
Discussion started by: cstovall
5 Replies
3. Shell Programming and Scripting
Hello Friends,
Is it possible to return an array from a user defined function in awk ?
example:
gawk '
BEGIN{}
{
catch_line = my_function(i)
print catch_line
print catch_line
print catch_line
}
function my_function(i)
{
print "echo"
line= "awk"
line= "gawk"... (2 Replies)
Discussion started by: user_prady
2 Replies
4. Solaris
Dear all,
i m unable to give array decalartion in solaris Operating system shell script
and script was so.sh
declare -a bull
for i in 1 2 3 4 5 6 7 8 9
do
bull=$i
echo "${bull}"
done
it is throwing an error called
so.sh: declare: not found
so.sh: bull=1: not... (20 Replies)
Discussion started by: naree
20 Replies
5. Shell Programming and Scripting
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)
Discussion started by: timj123
6 Replies
6. Shell Programming and Scripting
Hi,
i want awk to read a file and place it's content into two arrays. When trying to read these arrays with a "for a in ${source_path} "-Loop it gives the right result. But when trying to access directly (/bin/echo ${source_path}) it doesn't work.
I read "all "the awk threads in this forum and... (6 Replies)
Discussion started by: bateman23
6 Replies
7. UNIX for Advanced & Expert Users
Hello All,
I was just wondering if there is any direct way to access PL/SQL OUT variables from Korn Shell Script.
I could already figure out how to return a single value back from PL/SQL to Shell Script (using bind variable).
But, what if we want to return multiple values?
One option I... (4 Replies)
Discussion started by: bright_future
4 Replies
8. Shell Programming and Scripting
I have a korn shell script that reads a file with just one column in the file. If the file has more than 5 entries it is split using split -5. This means that is we have 15 entries I will end up with 3 files with 5 entries/lines in each and if I have 23 entries I will end up with 5 files with the... (2 Replies)
Discussion started by: kieranfoley
2 Replies
9. Shell Programming and Scripting
I have a text file with several key words that I am trying to isolate. I have grepped for the unknowns in the text file, but each unknown has a corresponding location. I have created an array that holds all the unknowns and another array that holds all of the locations and compares them based on... (12 Replies)
Discussion started by: ther2000
12 Replies
10. Shell Programming and Scripting
In order to use the shellcurses functions described at:
Shell Curses function library
I am learning about ksh, which has arrays. My trusty Kochan & Wood book says that for any Korn Shell array AR :
${AR
} expands to all the defined array elements, and
${#AR
} expands to the number... (3 Replies)
Discussion started by: Clovis_Sangrail
3 Replies
LEARN ABOUT DEBIAN
perl::critic::policy::variables::requirenegativeindices
Perl::Critic::Policy::Variables::RequireNegativeIndices(User Contributed Perl DocumentPerl::Critic::Policy::Variables::RequireNegativeIndices(3pm)
NAME
Perl::Critic::Policy::Variables::RequireNegativeIndices - Negative array index should be used.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
Conway points out that
$arr[$#arr];
$arr[$#arr-1];
$arr[@arr-1];
$arr[@arr-2];
are equivalent to
$arr[-1];
$arr[-2];
$arr[-1];
$arr[-2];
and the latter are more readable, performant and maintainable. The latter is because the programmer no longer needs to keep two variable
names matched.
This policy notices all of the simple forms of the above problem, but does not recognize any of these more complex examples:
$some->[$data_structure]->[$#{$some->[$data_structure]} -1];
my $ref = @arr;
$ref->[$#arr];
CONFIGURATION
This Policy is not configurable except for the standard options.
AUTHOR
Chris Dolan <cdolan@cpan.org>
COPYRIGHT
Copyright (c) 2006-2011 Chris Dolan.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2012-06-07 Perl::Critic::Policy::Variables::RequireNegativeIndices(3pm)