Help with awk trim


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with awk trim
# 1  
Old 03-07-2012
Help with awk trim

I am trying to trim spaces for the fixed width file starting from location 129 and of length 20.

I am expecting only around 40 records that will have length greater than 9. But i am getting around 4000 records.

Please help me correct the following.

Code:
nawk '{if (a=length(gsub(/ */,"",substr($0,129,20)))>9); print $a }' testfile |wc -l

# 2  
Old 03-07-2012
Try this instead:
Code:
nawk '{a=length(gsub(/ */,"",substr($0,129,20))); if(a>9)print a}' testfile |wc -l

# 3  
Old 03-07-2012
I don't think you can operate gsub on the output of the substr function. Also you need to leave out the asterisk in gsub in order to count the number of spaces. You cannot use the length of the outcome of gsub, and I presume you are interested in a, not in $a. Try this:
Code:
awk '{s=substr($0,129,20);a=gsub(/ /,x,s)} a>9{print a}'

This will report the number of spaces in that area, or is that not what you are after?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Trim using sed/awk

How to remove using the sed/awk if the rows are starting with any numbers till "-" character. from the below sample output and expected results. Sample looks like below : 704 - sample - test 5500 - line2 449 - line3 44 - line4 Line5 Expected - sample - test line2 line3 line4... (5 Replies)
Discussion started by: kiran_hp
5 Replies

2. Shell Programming and Scripting

Trim Space

In Shell, I have output of a unix command as test1 test2015 but I want it as test1 test2015 can anyone help me out. Use code tags, thanks. (3 Replies)
Discussion started by: OscarS
3 Replies

3. Shell Programming and Scripting

awk - trim white space from a field / variable

Hi, Consider the data (FS = |): 1| England |end 2| New Zealand |end 3|Australia|end 4| Some Made Up Country |end 5| West Indies|end I want the output to be (i.e. without the leading and trailing white space from $2) England New Zealand Australia Some Made Up Country West... (4 Replies)
Discussion started by: Storms
4 Replies

4. UNIX for Dummies Questions & Answers

Trim String in 3rd Column in Tab Delimited File...SED/PERL/AWK?

Hey Everybody, I am having much trouble figuring this out, as I am not really a programmer..:mad: Datafile.txt Column0 Column1 Column2 ABC DEF xxxGHI I am running using WGET on a cronjob to grab a datafile, but I need to cut the first three characters from... (6 Replies)
Discussion started by: rickdini
6 Replies

5. Shell Programming and Scripting

cutting fields and doing trim in awk

hi, I have this code: #!/usr/bin/ksh #SERVICES gzcat *SERVICES* | awk ' { SUBSCRIBERNUMBER=substr($0,1,20) SUBSCRIBERNUMBER=trim(SUBSCRIBERNUMBER) SERVICECODE=substr($0,22,61) SERVICECODE=trim(SERVICECODE) STARTDD=substr($0,63,72) STARTDD=trim(STARTDD) STARTDT=substr($0,74,81)... (1 Reply)
Discussion started by: naoseionome
1 Replies

6. Shell Programming and Scripting

Trim inside awk

Hi all, I am using qwk to parse the logfile. The code like awk ' { if($0 > " ") { MSISDN=substr($0,1,10) HOUR=substr($0,11,6); ID_SA_SOURCE=substr($0,17,18); ID_SA_DEST=substr($0,35,18); ... (3 Replies)
Discussion started by: subin_bala
3 Replies

7. UNIX for Dummies Questions & Answers

trim file

Hi, I have a 6G log , which is unusual to read and I want to minimize it by removing some part on the upper portion( around 4GB). what should i do? can you please help me? thanks. (1 Reply)
Discussion started by: tungaw2004
1 Replies

8. Shell Programming and Scripting

Trim

Hello, I am passing a filename to a script to draw parameters from it. However, I want to use part of the filename as a parameter. The filename is transfer_ccf_3731_10.sh but I only need the 3731_10 part of it. Is this possible? Any help or suggestions would be appreciated! Regards, J. (4 Replies)
Discussion started by: JWilliams
4 Replies

9. Shell Programming and Scripting

Trim white spaces using awk

Hi, I have a CSV file with footer information as below. The third value is the number of records in the file. Sometimes it contains both leading and trailing white spaces which i want to trim using awk. C,FOOTER , 00000642 C,FOOTER , 00000707 C, FOOTER,... (2 Replies)
Discussion started by: mona
2 Replies

10. Shell Programming and Scripting

trim whitespace?

I'm trying to find a command that will trim the white space off a string. e.g. $str = " stuf " $str = trim ( $str ) echo $str // ouput would just be stuf Thanks, Mark (4 Replies)
Discussion started by: msteudel
4 Replies
Login or Register to Ask a Question