08-24-2004
Max column count in a file
I have to send a file to mainframe and before sending it, I have to execute the quote command to set the record length.
Since the file is dynamic, I do not know what the maximum size of a line could be.
Currently, I use the following function to get the Max Column Count. Since I use "sed" it takes a long time for big files.
GetMaxCols()
{
MAX_COL_SIZE=0
for line in `cat $1 | sed "s! !~!g"`
do
COL_COUNT=`echo $line | wc -c`
if [ "$COL_COUNT" -gt "$MAX_COL_SIZE" ]; then
MAX_COL_SIZE=$COL_COUNT
fi
done
echo $MAX_COL_SIZE
}
Any better ways to achieve this goal ?
Thanks in advance.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hey everybody ..
I have a problem when I use this command to count the Max number by awk it give to me 99 while there are numbers bigger than 99
awk 'NR==0 { temp = $0 ;next}
{ if ( $0 >= temp ) { temp=$0 } }
END{ print "Maximum Number:"temp""}' file
thank you for your help... (9 Replies)
Discussion started by: halola85
9 Replies
2. Shell Programming and Scripting
Hi All,
I have an Output from a log file which is something like as follows..
***** CDR and SDR Statistics****
Wed Feb 25 00:05:00 EST 2009
*********CDR and SDR QUEUE STATUS*****
Queue busy wait msgs
cdr 2 2 4
sdr ... (3 Replies)
Discussion started by: nirmal84
3 Replies
3. Shell Programming and Scripting
Hi Everyone,
1.txt
00:00:00 0 0 0 0 0 0 0
00:00:01 0 0 0 2 1 33 2
00:00:02 5 0 0 0 0 0 0
00:00:03 0 4 0 0 0 0 0... (5 Replies)
Discussion started by: jimmy_y
5 Replies
4. Shell Programming and Scripting
Hello all,
this should really be easy for you... I need AWK to print column maxima for each column of such input:
Input:
1 2 3 1
2 1 1 3
2 1 1 2
Output should be:
2 2 3 3
This does the sum, but i need max instead:
{ for(i=1; i<=NF; i++)
sum +=$i }
END {for(i=1; i in sum;... (3 Replies)
Discussion started by: irrevocabile
3 Replies
5. Shell Programming and Scripting
I am redirecting my ping output to a file. The sample output is like this:
64 bytes from xx.xx.xx.167: icmp_seq=4490 ttl=116 3.75 ms 2011Jul12- 15 40 16
64 bytes from xx.xx.xx.167: icmp_seq=4491 ttl=116 5.29 ms 2011Jul12- 15 40 17
64 bytes from xx.xx.xx.167: icmp_seq=4492 ttl=116 4.88 ms... (6 Replies)
Discussion started by: zorrox
6 Replies
6. Shell Programming and Scripting
Hi ,
Below is my sample data,I have this 8 column(A,B,C,D,E,F,G,H) in csv file.
A , B ,C ,D ,E ,F,G ,H
4141,127337,24,15,20,69,72.0,-3
4141,128864,24,15,20,65,66.0,-1
4141,910053,24,15,4,4,5.0,-1
4141,910383,24,15,22,3,4.0,-1
4141,496969,24,15,14,6,-24.0,-18... (7 Replies)
Discussion started by: vinothsekark
7 Replies
7. Shell Programming and Scripting
Hi,
I need an awk script (or whatever shell-construct) that would take data like below and get the max value of 3 column, when grouping by the 1st column.
clientname,day-of-month,max-users
-----------------------------------
client1,20120610,5
client2,20120610,2
client3,20120610,7... (3 Replies)
Discussion started by: ckmehta
3 Replies
8. Shell Programming and Scripting
I have a text file that has the following column data:
0.007
0.005
0.004
0.007
How do i output the total sum of the data above? (6 Replies)
Discussion started by: alegnagrp
6 Replies
9. Shell Programming and Scripting
Hi All,
let's say an input looks like:
C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11
----------------------------------
1|0123452|C501|Z|Z|Z|E|E|E|E|E|E|E
1|0156123|C501|X|X|X|E|E|E|E|E|E|E
1|0178903|C501|Z|Z|Z|E|E|E|E|E|E|E
1|0127896|C501|Z|Z|Z|E|E|E|E|E|E|E
1|0981678|C501|X|X|X|E|E|E|E|E|E|E
... (6 Replies)
Discussion started by: suresh_target
6 Replies
10. UNIX for Beginners Questions & Answers
sorry i will revise first (1 Reply)
Discussion started by: fajar_3t3
1 Replies
FMT(1) BSD General Commands Manual FMT(1)
NAME
fmt -- simple text formatter
SYNOPSIS
fmt [-Cr] [goal [maximum]] [name ...]
fmt [-Cr] [-g goal] [-m maximum] [name ...]
DESCRIPTION
fmt is a simple text formatter which reads the concatenation of input files (or standard input if none are given) and produces on standard
output a version of its input with lines as close to the goal length as possible without exceeding the maximum. The goal length defaults to
65 and the maximum to 75. The spacing at the beginning of the input lines is preserved in the output, as are blank lines and interword spac-
ing. In non raw mode, lines that look like mail headers or begin with a period are not formatted.
-C instructs fmt to center the text.
-g goal New way to set the goal length.
-m maximum New way to set the maximum length.
-r Raw mode; formats all lines and does not make exceptions for lines that start with a period or look like mail headers.
fmt is meant to format mail messages prior to sending, but may also be useful for other simple tasks. For instance, within visual mode of
the ex(1) editor (e.g., vi(1)) the command
!}fmt
will reformat a paragraph, evening the lines.
SEE ALSO
mail(1), nroff(1)
HISTORY
The fmt command appeared in 3BSD.
BUGS
The program was designed to be simple and fast - for more complex operations, the standard text processors are likely to be more appropriate.
BSD
May 29, 2007 BSD