Sponsored Content
Top Forums Shell Programming and Scripting Check for length which exceeds specified length in a line Post 302735599 by RudiC on Sunday 25th of November 2012 04:44:56 PM
Old 11-25-2012
Try this; may need some polishing, esp. reg. the lenghts to be supplied in a variable:
Code:
$ cat file
checking,the, lengthof, string
$ awk -F, 'BEGIN {split("5,6,7,8", len, ",");  OFS=","}
           {for (i=1; i<=NF; i++) if(length($i) > len[i]) {$i = substr($i, 1, len[i]); col[i]++; OA=1}}
           {printf "%s", $0;
            if (OA) {printf ", Fields ";
                     for (i=1; i<=NF; i++) {if (col[i]) printf "col%d ", i; col[i]=0;}
                     printf "exceed the length."
                    }
            printf "\n"; OA=0
           }
          ' file
 check,the, length, string, Fields col1 col3 exceed the length.


Last edited by RudiC; 11-25-2012 at 06:16 PM..
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

creating a fixed length output from a variable length input

Is there a command that sets a variable length? I have a input of a variable length field but my output for that field needs to be set to 32 char. Is there such a command? I am on a sun box running ksh Thanks (2 Replies)
Discussion started by: r1500
2 Replies

2. UNIX for Dummies Questions & Answers

Sed working on lines of small length and not large length

Hi , I have a peculiar case, where my sed command is working on a file which contains lines of small length. sed "s/XYZ:1/XYZ:3/g" abc.txt > xyz.txt when abc.txt contains lines of small length(currently around 80 chars) , this sed command is working fine. when abc.txt contains lines of... (3 Replies)
Discussion started by: thanuman
3 Replies

3. UNIX for Dummies Questions & Answers

What the command to find out the record length of a fixed length file?

I want to find out the record length of a fixed length file? I forgot the command. Any body know? (9 Replies)
Discussion started by: tranq01
9 Replies

4. Shell Programming and Scripting

include NULLs in line length check

Hello, I am checking the length of each line of a fixed length file and making sure all lines are 161 length. My problem is that some files contain null characters which gets stripped out of my echo. How do I have the NULLs included in my check? (and I cannot replace or sub the NULL values with... (10 Replies)
Discussion started by: ironmix
10 Replies

5. Shell Programming and Scripting

Make variable length record a fixed length

Very, very new to unix scripting and have a unique situation. I have a file of records that contain 3 records types: (H)eader Records (D)etail Records (T)railer Records The Detail records are 82 bytes in length which is perfect. The Header and Trailer records sometimes are 82 bytes in... (3 Replies)
Discussion started by: jclanc8
3 Replies

6. Shell Programming and Scripting

changing a variable length text to a fixed length

Hi, Can anyone help with a effective solution ? I need to change a variable length text field (between 1 - 18 characters) to a fixed length text of 18 characters with the unused portion, at the end, filled with spaces. The text field is actually field 10 of a .csv file however I could cut... (7 Replies)
Discussion started by: dc18
7 Replies

7. Shell Programming and Scripting

Flat file-make field length equal to header length

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)
Discussion started by: sonali.s.more
5 Replies

8. Shell Programming and Scripting

Array Length Reports as Having Length when it is Empty?

Hello All, I have this script that does stuff like "starting, stopping & restarting" a Daemon Process running on my machine... My main question is why in part of my code (which you will see below) does the Array Length (i.e. ${#PIDS} ) return "1" when I know the Array is empty..? Here is... (17 Replies)
Discussion started by: mrm5102
17 Replies

9. Shell Programming and Scripting

Convert variable length record to fixed length

Hi Team, I have an issue to split the file which is having special chracter(German Char) using awk command. I have a different length records in a file. I am separating the files based on the length using awk command. The command is working fine if the record is not having any... (7 Replies)
Discussion started by: Anthuvan
7 Replies
TRUNCATE(1)						    BSD General Commands Manual 					       TRUNCATE(1)

NAME
truncate -- truncate or extend the length of files SYNOPSIS
truncate [-c] -s [+|-]size[K|k|M|m|G|g|T|t] file ... truncate [-c] -r rfile file ... DESCRIPTION
The truncate utility adjusts the length of each regular file given on the command-line. The following options are available: -c Do not create files if they do not exist. The truncate utility does not treat this as an error. No error messages are displayed and the exit value is not affected. -r rfile Truncate or extend files to the length of the file rfile. -s [+|-]size[K|k|M|m|G|g|T|t] If the size argument is preceded by a plus sign (+), files will be extended by this number of bytes. If the size argument is pre- ceded by a dash (-), file lengths will be reduced by no more than this number of bytes, to a minimum length of zero bytes. Other- wise, the size argument specifies an absolute length to which all files should be extended or reduced as appropriate. The size argument may be suffixed with one of K, M, G or T (either upper or lower case) to indicate a multiple of Kilobytes, Megabytes, Gigabytes or Terabytes respectively. Exactly one of the -r and -s options must be specified. If a file is made smaller, its extra data is lost. If a file is made larger, it will be extended as if by writing bytes with the value zero. If the file does not exist, it is created unless the -c option is specified. Note that, while truncating a file causes space on disk to be freed, extending a file does not cause space to be allocated. To extend a file and actually allocate the space, it is necessary to explicitly write data to it, using (for example) the shell's '>>' redirection syntax, or dd(1). EXIT STATUS
The truncate utility exits 0 on success, and >0 if an error occurs. If the operation fails for an argument, truncate will issue a diagnostic and continue processing the remaining arguments. SEE ALSO
dd(1), touch(1), truncate(2) STANDARDS
The truncate utility conforms to no known standards. HISTORY
The truncate utility first appeared in FreeBSD 4.2. AUTHORS
The truncate utility was written by Sheldon Hearn <sheldonh@starjuice.net>. BSD
December 19, 2006 BSD
All times are GMT -4. The time now is 10:36 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy