Hello,
Is there anyway that I can align a pipe delimited text file by the maxium field length where the field is separated out by pipes for large text files with more than
100,000 rows?
So, far I have searched other forums and google about aligning text files in unix and I have noticed that several other users use the awk utility. Since I am new to awk
I have attempted in writing my own code after reading some of the awk utility syntax, but I am getting stuck.
If awk is not the best utility to achieve this is there any way to code this???
My test code:
#!/bin/ksh
awk 'BEGIN {FS = "|"}
{
for(i=1;i<=NF;i++)
{
if (length($i) > max)
max = length($i)
maxlen($i) = max
}
}
END
{
for (i in max) print (i,max)
}
' $(find . -name "testfile.txt")
Below is a sample of the text file that I have:
Pipe Delimited Text file
YEAR|NAME|PRODUCT_ID|ORDER_ID|CUSTOMER_ID
2001|Unix book|12354|01587|5487651484
2002|Programming|65487|6564548|654365146
2003|Airsoft Guns|6544888|548|65498
2004|Video Games|101100018|44|648
2010|Wayside Stories from wayside school|5487454|4|64645646
.
.
.
Hi all,
I tried to write a shell to read huge file and eliminate max length record which is wrong generated record. But I get an error
remove_sp.sh: line 27: syntax error near unexpected token `else'
remove_sp.sh: line 27: ` else $LINE >> REJFILE'
My shell is here:
#!/bin/sh... (5 Replies)
Hi all,
I have a flat file of 1000 rows. I want to check the length of the 5th column. The one having the longest length , I want to set it as DEFINED PARAMETER.
So later I can check others with that particular number only.
Any ideas ?? (2 Replies)
Hi,
This is my first post to this site. So kindly forgive if I am writing in a wrong section.
My query is that...
I want to modify the max username length size. I guess it is 32/64 on CentOS. Now I want to change it to 128. Is there any way to do that?
Thanks in advance!! :) (4 Replies)
Hey Any one...
Do u know any way I can modify the max username length in unix? I guess it is 32/64 characters by default. Suppose I want to increase it to 128.
i hav tried /etc/skel
but no use...
How can I do that? (2 Replies)
Hello Everyone,
I am stuck with one issue while working on abstract flat file which i have to use as input and load data to table.
Input Data-
------ ------------------------ ---- -----------------
WFI001 Xxxxxx Control Work Item A Number of Records
------ ------------------------... (5 Replies)
Hi All,
I am new to perl and was trying to write a simple program which will generate a text file as output..
now the output which i am getting is something like this..
==================================================================================================
Col1 ... (8 Replies)
Hi,
I have a huge file that has data something like shown below:
huge_file.txt
start regexp
Name=Name1
Title=Analyst
Address=Address1
Department=Finance
end regexp
some text
some text
start regexp
Name=Name2
Title=Controller
Address=Address2
Department=Finance
end regexp (7 Replies)
hai guys,
pick the 1st field and calculate max length.
if suppose max length is 2,
then compare the all records if <2 then add zero's prefix of the record.
for ex:
s.no,sname
1,djud
37,jtuhe
in this max length of the 1st field is 2 right
the output wil be
s.no,sname
01,djud... (6 Replies)
Discussion started by: Suneelbabu.etl
6 Replies
LEARN ABOUT MOJAVE
lam
LAM(1) BSD General Commands Manual LAM(1)NAME
lam -- laminate files
SYNOPSIS
lam [-f min.max] [-s sepstring] [-t c] file ...
lam [-p min.max] [-s sepstring] [-t c] file ...
DESCRIPTION
The lam utility copies the named files side by side onto the standard output. The n-th input lines from the input files are considered frag-
ments of the single long n-th output line into which they are assembled. The name `-' means the standard input, and may be repeated.
Normally, each option affects only the file after it. If the option letter is capitalized it affects all subsequent files until it appears
again uncapitalized. The options are described below:
-f min.max
Print line fragments according to the format string min.max, where min is the minimum field width and max the maximum field width.
If min begins with a zero, zeros will be added to make up the field width, and if it begins with a `-', the fragment will be left-
adjusted within the field.
-p min.max
Like -f, but pad this file's field when end-of-file is reached and other files are still active.
-s sepstring
Print sepstring before printing line fragments from the next file. This option may appear after the last file.
-t c The input line terminator is c instead of a newline. The newline normally appended to each output line is omitted.
To print files simultaneously for easy viewing use pr(1).
EXAMPLES
The command
lam file1 file2 file3 file4
joins 4 files together along each line. To merge the lines from four different files use
lam file1 -S "
" file2 file3 file4
Every 2 lines of a file may be joined on one line with
lam - - < file
and a form letter with substitutions keyed by `@' can be done with
lam -t @ letter changes
SEE ALSO join(1), paste(1), pr(1), printf(3)STANDARDS
Some of the functionality of lam is standardized as the paste(1) utility by IEEE Std 1003.2 (``POSIX.2'').
BUGS
The lam utility does not recognize multibyte characters.
BSD August 12, 2004 BSD