10-18-2007
Yeah, but it is going to get complicated (believe it or not, this has been pretty straightforward).
the problem comes up from awk not being able to recognize a whitespace column. If you used tab separators, you could have a -F parameter for the tabs, but if it is simply spaces, you have to make an programmatic decision.
for instance, it looks like if column 3 is a $ amount - if that is always true, you can check to see if it has a $, and print in the right column, or, if not, then you know everything has slid down one.
So you could have to printf statements
if ($3 ~ /\$/ )
{ print style 1 }
else
{ print style 2 }
As much as I hate to admit it, I would have to try some trial and error to make sure the search for the $ works, since that is and End_of_line indicator and I was thinking that escaping it was the right idea.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a set of files of multi-line records with the records separated by a blank line. I needed to add a record number to the front of each line followed by a colon and did the following:
awk 'BEGIN {FS = "\n"; RS = ""}{for (i=1; i<=NF; i++)print NR,":",$i}' ~/Desktop/data98-1-25.txt >... (3 Replies)
Discussion started by: RacerX
3 Replies
2. Shell Programming and Scripting
Hi Sorry to multipost. I am opening the new thread because the earlier threads head was misleading to my current doubt.
and i am stuck.
list=`cat /u/Test/programs`;
psg "ServTest" | awk -v listawk=$list '{
cmd_name=($5 ~ /^/)? $9:$8
for(pgmname in listawk)
... (6 Replies)
Discussion started by: Anteus
6 Replies
3. Infrastructure Monitoring
I have a file has following records
policy glb id 1233 name Permit ping from "One" to "Second" "Address1" "Any" "ICMP-ANY" permit
policy id 999251
service "snmp-udp"
exit
policy glb id 1234 name Permit telnet from "One" to "Second" "Address2" "Any" "TCP-ANY" permit
policy id 1234... (3 Replies)
Discussion started by: baskar
3 Replies
4. Shell Programming and Scripting
Some records in a file look like this, with any number of lines between start and end flags:
/Start
Some stuff
Banana 1
Some more stuff
End/
/Start
Some stuff
End/
/Start
Some stuff
Some more stuff
Banana 2
End/
...how would I process this file to find records containing the... (8 Replies)
Discussion started by: cs03dmj
8 Replies
5. UNIX for Dummies Questions & Answers
Hi all,
I So, I've got a monster text document comprising a list of various company names and associated info just in a long list one after another. I need to sort them alphabetically by name...
The text document looks like this:
Company Name:
the_first_company's_name_here
Address:... (2 Replies)
Discussion started by: quee1763
2 Replies
6. Shell Programming and Scripting
Now that I've parsed out the data that I desire I'm left with variable length multi-line records that are field seperated by new lines (\n) and record seperated by a single empty line ("")
At first I was considering doing something like this to append all of the record rows into a single row:
... (4 Replies)
Discussion started by: daveyabe
4 Replies
7. Shell Programming and Scripting
I have a file with data records separated by multiple equals signs, as below.
==========
RECORD 1
==========
RECORD 2
DATA LINE
==========
RECORD 3
==========
RECORD 4
DATA LINE
==========
RECORD 5
DATA LINE
==========
I need to filter out all data from this file where the... (2 Replies)
Discussion started by: Finja
2 Replies
8. Shell Programming and Scripting
Hey, not too good at this, so I only managed a clumsy and SLOW solution to my problem that needs a drastic speed up. Any ideas how I write the following in awk only?
Code is supposed to do...
For every line read column values $6, $7, $8 and do a calculation with the same column values of every... (6 Replies)
Discussion started by: origamisven
6 Replies
9. Shell Programming and Scripting
Greetings Experts,
As part of automating the sql generation, I have the source table name, target table name, join condition stored in a file join_conditions.txt which is a delimited file (I can edit the file if for any reason). The reason I needed to store is I have built SELECT list without... (5 Replies)
Discussion started by: chill3chee
5 Replies
10. Shell Programming and Scripting
Input File:
>Seq1
ASDADAFASFASFADGSDGFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSD
>Seq2
SDASDAQEQWEQeqAdfaasd
>Seq3
ASDSALGHIUDFJANCAGPATHLACJHPAUTYNJKG
......
Desired Output File
>Seq1
ASDADAFASF
ASFADGSDGF
SDFSDFSDFS
DFSDFSDFSD
FSDFSDFSDF
SD
>Seq2 (4 Replies)
Discussion started by: patrick87
4 Replies
fspec(4) File Formats fspec(4)
NAME
fspec - format specification in text files
DESCRIPTION
It is sometimes convenient to maintain text files on the system with non-standard tabs, (tabs that are not set at every eighth column).
Such files must generally be converted to a standard format, frequently by replacing all tabs with the appropriate number of spaces, before
they can be processed by system commands. A format specification occurring in the first line of a text file specifies how tabs are to be
expanded in the remainder of the file.
A format specification consists of a sequence of parameters separated by blanks and surrounded by the brackets <: and :>. Each parameter
consists of a keyletter, possibly followed immediately by a value. The following parameters are recognized:
ttabs The t parameter specifies the tab settings for the file. The value of tabs must be one of the following:
o A list of column numbers separated by commas, indicating tabs set at the specified columns.
o A '-' followed immediately by an integer n, indicating tabs at intervals of n columns.
o A '-' followed by the name of a ``canned'' tab specification.
Standard tabs are specified by t-8, or equivalently, t1,9,17,25, etc. The canned tabs that are recognized are defined by
the tabs(1) command.
ssize The s parameter specifies a maximum line size. The value of size must be an integer. Size checking is performed after tabs
have been expanded, but before the margin is prepended.
mmargin The m parameter specifies a number of spaces to be prepended to each line. The value of margin must be an integer.
d The d parameter takes no value. Its presence indicates that the line containing the format specification is to be deleted
from the converted file.
e The e parameter takes no value. Its presence indicates that the current format is to prevail only until another format
specification is encountered in the file.
Default values, which are assumed for parameters not supplied, are t-8 and m0. If the s parameter is not specified, no size checking is
performed. If the first line of a file does not contain a format specification, the above defaults are assumed for the entire file. The
following is an example of a line containing a format specification:
* <:t5,10,15 s72:> *
If a format specification can be disguised as a comment, it is not necessary to code the d parameter.
SEE ALSO
ed(1), newform(1), tabs(1)
SunOS 5.10 3 Jul 1990 fspec(4)