Sponsored Content
Full Discussion: awk equivalent script
Top Forums Shell Programming and Scripting awk equivalent script Post 302166564 by radoulov on Tuesday 12th of February 2008 07:30:50 AM
Old 02-12-2008
OK,
I'll try.

Code:
x[$1]++

While the first field is the same, you have:

Code:
x[$1] is 0 
x[$1] is 1
x[$1] is 2

and so on ...

In Awk an uninitialized variable have the numeric value zero,
that's why when seen for the first time x[$1] is 0.

When the value of $1 changes the cycle is reinitialized.

Code:
$0=NR==1?$0:RS $0

This is a shortcut that I'm using as assignment (and could appear a bit confusing).

It means: assign to $0 (the entire record) the value of RS $0
(the default record separator - newline) and the record itself:
in other words: prepend a newline to the record if the record
is not the first record (otherwise you'll get a newline prepended
to the first record, because x[$1] will be 0).

It's the same as:

Code:
if (NR == 1)
  $0 = $0
else
  $0 = ("\n" $0)

As you know, an awk program looks like this:

Code:
pattern [or expression] { action }

So the above code says:

[pattern/expression]

if x[$1]++ is true: is not 0 (for Awk 0 and NULL are false)

|| (logical OR, double pipe)

$0=NR==1?$0:RS $0 is true (and it's already assigned, while tested Smilie)
(in this case the above expression will always be true, guess whySmilie)

[action]

the action part is omitted which means use the default action:
print the current record.

Hope it makes sense ...


 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

shell script equivalent for tcl function

Hello, I need experts help in converting the below tcl function to korn shell function equivalent. proc lsNetMaskToBits {mask} { set dw ; # Top N bits set set dw 0x ; # Make sure it's hexadecimal, else XOR fails. puts "lsNetMaskToBits dw $dw" set dw ; # Complement => low 32-N bits... (1 Reply)
Discussion started by: JackMelson
1 Replies

2. Linux

Need SCP script equivalent to FTP script .

Hi, Currently i'm using the folllowing FTP acript and its working. echo "open $server" > ftp_file echo "user $user $password" >> ftp_file echo "cd $remote_dir" >> ftp_file echo "lcd $local_dir" >> ftp_file echo "put $file">> ftp_file echo "bye" >> ftp_file ftp -nv < ftp_file I've... (1 Reply)
Discussion started by: vickramshetty
1 Replies

3. Shell Programming and Scripting

Bash Script equivalent KSH script?

I always find BASH easier than ksh. At my home, i have written this bash script. I am finding it hard to write its equivalent in ksh, any suggestions? ###################################### #return seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)... (1 Reply)
Discussion started by: boy18nj
1 Replies

4. Windows & DOS: Issues & Discussions

awk to findstr equivalent

Hi, I 'd like to translate this command from awk to findstr on Windows DOS FILE: str1 server1 a str1 server2 a str2 server1 b str2 server2 b Awk command: awk ' $1 ~/str1/ { print $2, $3 } ' file.txt OUTPUT: server1 a server2 a Thanks, (1 Reply)
Discussion started by: phamp008
1 Replies

5. Shell Programming and Scripting

awk equivalent of regex

Hi all, Can someone tell me what's the (g)awk equal of this simple regex to find ip addresses in urls: egrep "^http://{1,3}\.{1,3}\.{1,3}\.{1,3}(:{1,5})?/"Input: http://10.0.0.1/query.exe http://11y10x09w:80/howaboutme http://192.168.100.190:1234/takeme.gpg Output:... (8 Replies)
Discussion started by: r4v3n
8 Replies

6. Shell Programming and Scripting

What is the equivalent of NR (awk) in perl?

Hello, I searched online; it seems that perl use $NR as NR in awk; however it does not work for me. For example, how to re-write the following awk using perl: awk '{ print NR}' inputfile---------- Post updated at 01:55 PM ---------- Previous update was at 12:49 PM ---------- I found... (2 Replies)
Discussion started by: littlewenwen
2 Replies

7. Shell Programming and Scripting

awk equivalent code in C for printing NF

Hi all ! whether anyone in forum knows what awk will use while printing number of fields in file(NF) ? for example awk END'{print NF}' file prints number of columns in file if anyone knows equivalent code in C kindly share or explain logic behind it (8 Replies)
Discussion started by: Akshay Hegde
8 Replies

8. Shell Programming and Scripting

Java - Arrays.binarySearch function equivalent in awk

Hi all Does anyone know Java-Arrays.binarySearch function equivalent in awk I tried like this but it's not correct one,it just returns array index if and only when searched value available in array, for some reason if searched value not found then I want to return upper nearest neighbour index.... (1 Reply)
Discussion started by: Akshay Hegde
1 Replies

9. Shell Programming and Scripting

sed Equivalent for awk/grep

Any equivalent command using awk or grep? sed -n "/^$(date --date='10 minutes ago' '+%b %_d %H:%M')/,\$p" /abc.log (7 Replies)
Discussion started by: timmywong
7 Replies

10. UNIX for Beginners Questions & Answers

awk script Equivalent .

Hello. I wrote some code for an awk command but I want to learn to turn it into an awk script but am stuck. I have a file (data.csv) that has the following data: ADD,1,3,5,8,10,11,54 SUB,1,2,3,4 ADD,15,18,21,42,37 ADD,1,1,1,0,0,3,16 ADD,4,1,8,0,4,6,13,16,17,20,8,6,4 SUB,13,8If the line... (5 Replies)
Discussion started by: Eric7giants
5 Replies
GCHEM3D(1)						       gnome-chemistry-utils							GCHEM3D(1)

NAME
gchem3d - a small chemical viewer application SYNOPSIS
gchem3d [OPTION(S)...] [FILE...] DESCRIPTION
gchem3d is a small chemical viewer application, which can show several chemical file formats. OPTIONS
The following options are accepted: -b COLOR, --bgcolor=COLOR Use the given color as background color. COLOR can be one of "black" (default), "white", "#rrggbb" (don't forget to escape the "#" character in the shell). -d MODEL, --display3d=MODEL Choose how molecules are displayed. MODEL can be one of "BallnStick" (default), "SpaceFill". -?, --help Show application help options. --help-all, --help-* Print all or just a group of help options. These options are not documented here. Instead see gtk-options(7) and gnome-options(7). -v, --version Print gchem3d version information. SEE ALSO
gnome-options(7), gtk-options(7) AUTHORS
Jean Brefort <jean.brefort@normalesup.org> Program author. Daniel Leidert <daniel.leidert@wgdd.de> Manpage author. COPYRIGHT
Copyright (C) 2002-2007 Jean Brefort Copyright (C) 2004-2007 Daniel Leidert Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation. gcu 0.12 $Date: 2009-03-19 10:53:47 +0100 (jeu. 19 mars 2009) $ GCHEM3D(1)
All times are GMT -4. The time now is 08:01 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy