Sponsored Content
Full Discussion: Deciphering AWK code
Top Forums UNIX for Beginners Questions & Answers Deciphering AWK code Post 303041581 by RudiC on Thursday 28th of November 2019 05:45:01 AM
Old 11-28-2019
Here you are:
Code:
awk '
!(a[$1])        {a[$1]=$0                       # if array element indexed by $1 is unset or 0, set it to
                                                # the line (i.e. collect first occurrences of $1)
                 next                           # continue with the next input line
                }
a[$1]           {w    = $1                      # if set, save $1 in temp variable
                 $1   = ""                      # and remove it (but leave FS intact)
                 a[w] = a[w] $0                 # then append line to resp. array element
                }
END             {for (i in a) print a[i]        # print all elements containing collected lines
                                                # be aware that the order of elements is unspecified 
                }
' FS="\t" OFS="\t" file

Please note how consistent structuring (e.g. indentation) of the code helps in reading / understanding / seeing patterns in it.
These 4 Users Gave Thanks to RudiC For This Post:
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help deciphering script

There are files on a remote server with the file name ending in "mm-dd-yy.txt". The script I am running is: mls "Daily_Service_Text_File_*" /my/local/dir/Filelisting.txt nawk -F_ -f file.awk /my/local/dir/Filelisting.txt | sort -k1n | cut -f2- | tail -1 It worked up too "12-31-07.txt" but... (3 Replies)
Discussion started by: bbbngowc
3 Replies

2. Shell Programming and Scripting

Help deciphering FTP get perl script

I found this very useful perl script that will check a remote ftp server, search for files of a specific time and get them. When I run the script it works, but it gave me the following error: Couldn't get filename_12-13-07.txt Bad file number What in this script would cause this? I know... (2 Replies)
Discussion started by: bbbngowc
2 Replies

3. UNIX for Dummies Questions & Answers

Deciphering the Code

Hi people I am trying to learn this code and see how it relates to the old DOS days. I have a line of code that I am not sure what the first part does. Any help will be greatly appreciated. It is from a Save command that is used to backup files to a directory. It goes like this if ;then... (10 Replies)
Discussion started by: coyote1967
10 Replies

4. Shell Programming and Scripting

Deciphering strings or variable values

Hi, I have a script at the moment of which reads in simply what the latest version is within a folder i.e. v001, v002, v003 etc and then stores this latest version in a variable i.e. $LATEST would echo v003. I have then cut this string so that I only consider the 003 part. I would then like to... (3 Replies)
Discussion started by: cyberfrog
3 Replies

5. UNIX for Dummies Questions & Answers

Need help deciphering this

I'm reading about command substitutions and came across this little function in my book: function lsd { date=$1 ls -l |grep -i "^.\{42\}$date"|cut -c55- } it's a little example which is supposed to select files by modification date, given as an argument to the function. I... (3 Replies)
Discussion started by: Straitsfan
3 Replies

6. Programming

Some help with Perl please (deciphering)

I am trying to simplify the coding in a script I was given, but it was written 7-10 years ago and is pretty complicated. below is a tidbit, if someone can break it down for me I would appreciate it. sub ParseText { my ($line, $key, $value, $sub, $script); foreach $line (@_)... (0 Replies)
Discussion started by: callyvan
0 Replies

7. Shell Programming and Scripting

need help deciphering this if statement

I'm going through my bash book and came across this if statment. if *$)" ]; then the book says that the grep expression means "an initial dash followed by a digit" (which I understand) "optionally followed by one or more digits" That's the part I can't figure out -- I know the * is a... (8 Replies)
Discussion started by: Straitsfan
8 Replies

8. Shell Programming and Scripting

Help with AWK Code

hello, I would appreciate a little assistance with a process I'm trying to automate. I have several files that are zipped in central location, all follow the same naming conventions i.e (file 1, file 2, etc). what i would like to do is unzip the files and combined them into one file, basically... (2 Replies)
Discussion started by: mrn970
2 Replies

9. Programming

Deciphering a tag character string

I have a string, eg 7f30.3 and I want to store things in the following way npos = 7 decform = true width = 30 ndp = 3 I need to read each character one by one. I am coding in fortran but I can try to code it should answer be given in C in the above way. (2 Replies)
Discussion started by: kristinu
2 Replies
term::ansi::code::attr(3tcl)					 Terminal control				      term::ansi::code::attr(3tcl)

__________________________________________________________________________________________________________________________________________________

NAME
term::ansi::code::attr - ANSI attribute sequences SYNOPSIS
package require Tcl 8.4 package require term::ansi::code ?0.1? package require term::ansi::code::attr ?0.1? ::term::ansi::code::attr::names ::term::ansi::code::attr::import ?ns? ?arg...? ::term::ansi::code::attr::fgblack ::term::ansi::code::attr::fgred ::term::ansi::code::attr::fggreen ::term::ansi::code::attr::fgyellow ::term::ansi::code::attr::fgblue ::term::ansi::code::attr::fgmagenta ::term::ansi::code::attr::fgcyan ::term::ansi::code::attr::fgwhite ::term::ansi::code::attr::fgdefault ::term::ansi::code::attr::bgblack ::term::ansi::code::attr::bgred ::term::ansi::code::attr::bggreen ::term::ansi::code::attr::bgyellow ::term::ansi::code::attr::bgblue ::term::ansi::code::attr::bgmagenta ::term::ansi::code::attr::bgcyan ::term::ansi::code::attr::bgwhite ::term::ansi::code::attr::bgdefault ::term::ansi::code::attr::bold ::term::ansi::code::attr::dim ::term::ansi::code::attr::italic ::term::ansi::code::attr::underline ::term::ansi::code::attr::blink ::term::ansi::code::attr::revers ::term::ansi::code::attr::hidden ::term::ansi::code::attr::strike ::term::ansi::code::attr::nobold ::term::ansi::code::attr::noitalic ::term::ansi::code::attr::nounderline ::term::ansi::code::attr::noblink ::term::ansi::code::attr::norevers ::term::ansi::code::attr::nohidden ::term::ansi::code::attr::nostrike ::term::ansi::code::attr::reset _________________________________________________________________ DESCRIPTION
This package provides symbolic names for the ANSI attribute control codes. For each control code a single command is provided which returns this code as its result. None of the commands of this package write to a channel; that is handled by higher level packages, like term::ansi::send. API
INTROSPECTION ::term::ansi::code::attr::names This command is for introspection. It returns as its result a list containing the names of all attribute commands. ::term::ansi::code::attr::import ?ns? ?arg...? This command imports some or all attribute commands into the namespace ns. This is by default the namespace attr. Note that this is relative namespace name, placing the imported command into a child of the current namespace. By default all commands are imported, this can howver be restricted by listing the names of the wanted commands after the namespace argument. ATTRIBUTES ::term::ansi::code::attr::fgblack Set text color to Black. ::term::ansi::code::attr::fgred Set text color to Red. ::term::ansi::code::attr::fggreen Set text color to Green. ::term::ansi::code::attr::fgyellow Set text color to Yellow. ::term::ansi::code::attr::fgblue Set text color to Blue. ::term::ansi::code::attr::fgmagenta Set text color to Magenta. ::term::ansi::code::attr::fgcyan Set text color to Cyan. ::term::ansi::code::attr::fgwhite Set text color to White. ::term::ansi::code::attr::fgdefault Set default text color (Black). ::term::ansi::code::attr::bgblack Set background to Black. ::term::ansi::code::attr::bgred Set background to Red. ::term::ansi::code::attr::bggreen Set background to Green. ::term::ansi::code::attr::bgyellow Set background to Yellow. ::term::ansi::code::attr::bgblue Set background to Blue. ::term::ansi::code::attr::bgmagenta Set background to Magenta. ::term::ansi::code::attr::bgcyan Set background to Cyan. ::term::ansi::code::attr::bgwhite Set background to White. ::term::ansi::code::attr::bgdefault Set default background (Transparent). ::term::ansi::code::attr::bold Bold on. ::term::ansi::code::attr::dim Dim on. ::term::ansi::code::attr::italic Italics on. ::term::ansi::code::attr::underline Underscore on. ::term::ansi::code::attr::blink Blink on. ::term::ansi::code::attr::revers Reverse on. ::term::ansi::code::attr::hidden Hidden on. ::term::ansi::code::attr::strike Strike-through on. ::term::ansi::code::attr::nobold Bold off. ::term::ansi::code::attr::noitalic Italics off. ::term::ansi::code::attr::nounderline Underscore off. ::term::ansi::code::attr::noblink Blink off. ::term::ansi::code::attr::norevers Reverse off. ::term::ansi::code::attr::nohidden Hidden off. ::term::ansi::code::attr::nostrike Strike-through off. ::term::ansi::code::attr::reset Reset all attributes to their default values. BUGS, IDEAS, FEEDBACK This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category term of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for either package and/or documentation. KEYWORDS
ansi, attribute control, color control, control, terminal CATEGORY
Terminal control COPYRIGHT
Copyright (c) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net> term 0.1 term::ansi::code::attr(3tcl)
All times are GMT -4. The time now is 03:51 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy