On 13 November 2015 at 16:54, jd1008 <jd1008(a)gmail.com> wrote:
On 11/12/2015 07:38 PM, Michael Hennebry wrote:
>
> Awk can do what you want:
> {
> lines[NR]=$NF " " $0
> }
>
> END {
> PROCINFO["sorted_in"]="@val_type_asc"
> for line in lines {
> j=index(line, " ")
> print substr(line, j+1)
> }
>
Sorry, but, since this is being archived,
could you please dot the i's and cross the t's ?
I assume $0 is the name of the file ??
Where is BEGIN?
Why are the single quote marks missing?
As you script stands, it is full of syntax errors.
No missing quotes. It's an awk program, not a bash one, $0 is a bash
variable. The only syntax errors I see are no brackets around the for
statement and missing closing brace. My awk here is too old to support
PROCINFO["sorted_in"], so here's a slight tweak using asort:
awktest:
----
{
lines[NR]=$NF " " $0
}
END {
#PROCINFO["sorted_in"]="@val_type_asc"
asort(lines, ordered)
for (ind = 1 ; ind<=length(ordered) ; ind++) {
line=ordered[ind]
j=index(line, " ")
print substr(line, j+1)
}
}
----
awktestinput:
----
Friday Lemon abc xyz
Saturday cucumber cool
Sunday orange citrussy
Monday apple computer
----
$ awk -f awktest < awktestinput
Sunday orange citrussy
Monday apple computer
Saturday cucumber cool
Friday Lemon abc xyz
--
imalone
http://ibmalone.blogspot.co.uk