03-24-2005
AWK Problem
Hi,
I posted something here about this yesterday but I can't seem to
find it. I needed help writting a script which would append a file
with new lines after every so many charachters.
Example: (my original flat file)
L60 LETTER OF CREDIT 60 DAYS W00 ON RECEIPT WIRE TRANSFER W30 NET 30 WIRE TR
ANSFER W45 NET 45 WIRE TRANSFER W60 NET 60 WIRE TRANSFER
I need to look like this:
L60 LETTER OF CREDIT 60 DAYS
W00 ON RECEIPT WIRE TRANSFER
W30 NET 30 WIRE TRANSFER
W45 NET 45 WIRE TRANSFER
W60 NET 60 WIRE TRANSFER
Basically, I needed a script that inserted a new line after so many chars.
This is the script someone helped me out with:
====
#!/usr/bin/nawk -f
#
###fold.awk
#
{
if (!width) width=31;
line = $0;
do {
newline = substr(line, 0, width);
if (newline !~ "^[ \t]*$") { print newline }
line = substr(line, width+1);
}
while (length(line) > 1);
}
====
This works great! However, now I'm having a problem with "line too long"
errors with extremely large files:
nawk: input record `0101100010HORSES AND...' too long
source line 16 of file /usr/local/bin/fold.awk
I know there is a limit in awk. Also, from the post from yesterday, someone
was really pushing an SED script. Can SED handle large lines?
Does someone know if I can do this another way or with the same
script? This is a hot one for me.
Thank you for this great board!
Thanks!
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi all,
How can i use the below unix command in AWK . Can any one please suggest me how i can use.
sed -e "s/which first.sh/which \$0/g" $shell > $shell.sal
where $0=current program name(say current.sh)
$shell=second.sh (1 Reply)
Discussion started by: krishna_gnv
1 Replies
2. Shell Programming and Scripting
Hi All,
How can i store a value of the unix command executed in AWK with system command.
devise=`cut -c1-3 dvgp.txt`
I wrote this command in awk as
awk'{
code= sprintf("devise=`cut -c1-3 dvgp.txt`");
system(code);
}'
Is this correct. can you please suggest me how the code can be... (1 Reply)
Discussion started by: krishna_gnv
1 Replies
3. Shell Programming and Scripting
Hi there every body
I'm new to shell scripting and there is a problem facing me,, please look at the following piece of code:
awk '
BEGIN{
FS="<assertion id=\1";
RS="<assertion id=\"2"}/<assertion id=\"1/{print FS$2 > "/home/ds2/test/output.txt"}
' filename
all I wanna do is to... (6 Replies)
Discussion started by: senior_ahmed
6 Replies
4. Shell Programming and Scripting
Actually I got a list of file end with *.txt
I want to use the same command apply to all the *.txt
Thus I try to find out the fastest way to write those same command in a script and then want to let them run automatics.
For example:
I got the file below:
file1.txt
file2.txt
file3.txt... (4 Replies)
Discussion started by: patrick87
4 Replies
5. Shell Programming and Scripting
Hi
I have many problems with a script. I have a script that formats a text file but always prints the same error when i try to execute it
The code is that:
{
if (NF==17){
print $0
}else{
fields=NF;
all=$0;
while... (2 Replies)
Discussion started by: fate
2 Replies
6. Shell Programming and Scripting
Find the number of files with sizes > 100KB in /, /bin, /usr, /usr/bin
and /usr/sbin directories and output them in a two column format with the
name of the directory and the number of files.
i tried with awk
$>ls -lh | awk '/^-/ && $5 >= 100k {print $8 $5}'
but it is not working pls tell... (3 Replies)
Discussion started by: abhikamune
3 Replies
7. UNIX for Dummies Questions & Answers
I thought I had solved this problem but after testing the script I came to realize that it is not doing what I need. So, here it goes again. This is the code:
awk '/\>/{F=$2; N=$3; split(FILENAME, A, "."); getline; x = ">"}{print ">" A"-" x++" "F" " N"\n" $0}'
This is the input file:
... (5 Replies)
Discussion started by: Xterra
5 Replies
8. Shell Programming and Scripting
i have a datafile that has several lines that look like this:
2,dataflow,Sun Mar 17 16:50:01 2013,1363539001,2990,excelsheet,660,mortar,660,4
using the following command:
awk -F, '{$3=strftime("%a %b %d %T %Y,%s",$3)}1' OFS=, $DATAFILE | egrep -v "\-OLDISSUES," | ${AWK} "/${MONTH} ${DAY}... (7 Replies)
Discussion started by: SkySmart
7 Replies
9. Shell Programming and Scripting
i have an email list in file.txt with comma separated
line1 - FIELD1,pippo@gmail.com,darth@gmail.com
line2 - FIELD2,pippo@gmail.com,darth@gmail.com,sampei@gmail.com
output=(awk -F ',' -v var="$awkvar" '$1==var {print $2,$3,$4}' spreadsheet.txt)but awk delete some letters at the... (8 Replies)
Discussion started by: pasaico
8 Replies
10. Shell Programming and Scripting
Hi
I have two columns and I would like to create a third column based on how many lines away from a value of 1 in column 2,
for example I have
1,0
2,0
3,0
4,0
5,0
6,1
7,0
8,0
9,0
10,0
11,1
And I want an output (6 Replies)
Discussion started by: garethsays
6 Replies
FOLD(1) BSD General Commands Manual FOLD(1)
NAME
fold -- fold long lines for finite width output device
SYNOPSIS
fold [-bs] [-w width] [file ...]
DESCRIPTION
The fold utility is a filter which folds the contents of the specified files, or the standard input if no files are specified, breaking the
lines to have a maximum of 80 columns.
The options are as follows:
-b Count width in bytes rather than column positions.
-s Fold line after the last blank character within the first width column positions (or bytes).
-w width
Specify a line width to use instead of the default 80 columns. The width value should be a multiple of 8 if tabs are present, or the
tabs should be expanded using expand(1) before using fold.
ENVIRONMENT
The LANG, LC_ALL and LC_CTYPE environment variables affect the execution of fold as described in environ(7).
SEE ALSO
expand(1), fmt(1)
STANDARDS
The fold utility conforms to IEEE Std 1003.1-2001 (``POSIX.1'').
BUGS
If underlining (see ul(1)) is present it may be messed up by folding.
BSD
December 15, 2006 BSD