Sponsored Content
Top Forums Shell Programming and Scripting Pad zeroes first field in a Delimited file Post 302589083 by johnhips on Tuesday 10th of January 2012 07:14:03 PM
Old 01-10-2012
Pad zeroes first field in a Delimited file

Need help. I tried using an awk command to pad zeroes. Unfortunately, the "|" pipe delimited character is gone when I tried to write the records to another file.

Code:
awk -F \| ' {$1=sprintf("%06s", $1); print $0}' $CUSTFINAL2 > $CUSTFINAL3

BEFORE
"KEYRECORD"|"SA ID"|"PER ID"|"SP ID"|"ACCT ID"|"PREM ID"|"PHONE"|"NAME"|"Name"|"MAIL ADDR1"|"MAIL ADDR2"|"MAIL CITY"|"MAIL STATE"|"MAIL 
1|"          "|"          "|"3197691605"|"          "|"3197691657"|"                              "|"OCCUPANT                                                        
2|"          "|"          "|"3246309010"|"          "|"3246309029"|"                              "|"OCCUPANT                               
3|"          "|"          "|"3350909705"|"          "|"3311776290"|"                              "|"OCCUPANT                                                        
3|"          "|"          "|"3311776205"|"          "|"3311776290"|"                              "|"OCCUPANT                                                        

AFTER
"KEYRECORD" "SA ID" "PER ID" "SP ID" "ACCT ID" "PREM ID" "PHONE" "NAME" "Name" "MAIL ADDR1" "MAIL ADDR2" "MAIL CITY" "MAIL STATE" "MAIL 
000001 "          " "          " "3197691605" "          " "3197691657" "                              " "OCCUPANT                                                        
000002 "          " "          " "3246309010" "          " "3246309029" "                              " "OCCUPANT                                                        
000003 "          " "          " "3350909705" "          " "3311776290" "                              " "OCCUPANT                                                        
000003 "          " "          " "3311776205" "          " "3311776290" "                              " "OCCUPANT                                                        
000004 "          " "          " "3329099805" "          " "3329099858" "                              " "OCCUPANT

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to trim the leading zeroes in a Currency field ?

How do I trim the leading zeroes, and (+,-) in the currency field ? I have a text file. Your bill of +00002780.96 for a/c no. 25287324 is due on 11-06. Your bill of +00422270.48 for a/c no. 28931373 is due on 11-06. I want the O/P file to be like. Your bill of 2780.96 for a/c no. 25287324... (22 Replies)
Discussion started by: Amruta Pitkar
22 Replies

2. Shell Programming and Scripting

Count field frequency in a '|' delimited file

I have a large file with fields delimited by '|', and I want to run some analysis on it. What I want to do is count how many times each field is populated, or list the frequency of population for each field. I am in a Sun OS environment. Thanks, - CB (3 Replies)
Discussion started by: ChicagoBlues
3 Replies

3. Shell Programming and Scripting

insert a field into a tab delimited file

Hello, Can someone help me to do this with awk or sed? I have a file with multiple lines, each line has many fields separated with a tab. I would like to add one more field holding 'na' in between the first and second fields. old file looks like, 1, field1 field2 field3 ... 2, field1... (7 Replies)
Discussion started by: ssshen
7 Replies

4. UNIX for Dummies Questions & Answers

Insert Field into a tab-delimited file

Hello, I have about 100 files in a directory with fields which are tab delimited. I would like to append the file name as the first field and it has to be done as many times as the total lines in the file. For example, myFile1.txt has the following data: 1 x y z 2 a b ... (5 Replies)
Discussion started by: Gussifinknottle
5 Replies

5. Shell Programming and Scripting

Remove leading zeroes in 2nd field using sed

Hi Forum. I tried searching the forum but couldn't find a solution for my question. I have the following data and would like to have a sed syntax to remove the leading zeroes from the 2nd field only: Before: 2010-01-01|123|1|1000|2000|500|1500|600|700... (18 Replies)
Discussion started by: pchang
18 Replies

6. UNIX for Dummies Questions & Answers

Trim and pad a field in the middle of unix file

Hello, I have a file with several lines and I need to trim and pad with spaces the data that are between position 6 and 15 included. Data in position 1 to 5 and after 15 could be anything, and should stay as they are. For instance, the following records in a file (underscore = space)... (4 Replies)
Discussion started by: BSF
4 Replies

7. Shell Programming and Scripting

sed command to remove the first field from a '|' delimited file

Hi I have a file with fields delimited by |. I need to remove the first field from the file. I tried cut but it just extracts that field. sample.output abc|100|name1 cde|200|name2 efg|300|name3 Output should be sample.output 100|name1 200|name2 300|name3 thanks Var (6 Replies)
Discussion started by: var285
6 Replies

8. Shell Programming and Scripting

Remove Last field from a delimited file

Hi, I have a '~' delimited file and i want to remove the last field using awk. Please find the sample records below: 1428128~1~0~1100426~003~50220~005~14~0~194801~11~0~3~14~0~50419052335~0~0820652001~2~00653862 ~0~1~0~00126~1~20000110~20110423~R~ ~0~Z~1662.94~ ~002041~0045~Z~... (3 Replies)
Discussion started by: Arun Mishra
3 Replies

9. Shell Programming and Scripting

How to pad zeroes based on input string?

Hello everyone, I am comparing two floating point numbers by storing them in seperate files and then using difference command to verify,it is working fine. But I want to compare two values which will come at 4 precision places. ex: file1 Date,Count,Checksum... (7 Replies)
Discussion started by: karthik adiga
7 Replies

10. Shell Programming and Scripting

Replace field in the delimited file

Hi, I have the requirement similar to the one mentioned in the below thread. https://www.unix.com/unix-for-dummies-questions-and-answers/128155-search-replace-string-only-particular-column-delimited-file.html The only difference is that I need to change the field for row 1,2 and the last... (14 Replies)
Discussion started by: chetanojha
14 Replies
URI::Find::Delimited(3pm)				User Contributed Perl Documentation				 URI::Find::Delimited(3pm)

NAME
URI::Find::Delimited - Find URIs which may be wrapped in enclosing delimiters. DESCRIPTION
Works like URI::Find, but is prepared for URIs in your text to be wrapped in a pair of delimiters and optionally have a title. This will be useful for processing text that already has some minimal markup in it, like bulletin board posts or wiki text. SYNOPSIS
my $finder = URI::Find::Delimited->new; my $text = "This is a [http://the.earth.li/ titled link]."; $finder->find($text); print $text; METHODS
new my $finder = URI::Find::Delimited->new( callback => &callback, delimiter_re => [ '[', ']' ], ignore_quoted => 1 # defaults to 0 ); All arguments are optional; defaults are provided (see below). Creates a new URI::Find::Delimited object. This object works similarly to a URI::Find object, but as well as just looking for URIs it is also aware of the concept of a wrapped, titled URI. These look something like [http://foo.com/ the foo website] where: * "[" is the opening delimiter * "]" is the closing delimiter * "http://foo.com/" is the URI * "the foo website" is the title * the URI and title are separated by spaces and/or tabs The URI::Find::Delimited object will extract each of these parts separately and pass them to your callback. callback "callback" is a function which is called on each URI found. It is passed five arguments: the opening delimiter (if found), the closing delimiter (if found), the URI, the title (if found), and any whitespace found between the URI and title. The return value of the callback will replace the original URI in the text. If you do not supply your own callback, the object will create a default one which will put your URIs in 'a href' tags using the URI for the target and the title for the link text. If no title is provided for a URI then the URI itself will be used as the title. If the delimiters aren't balanced (eg if the opening one is present but no closing one is found) then the URI is treated as not being wrapped. Note: the default callback will not remove the delimiters from the text. It should be simple enough to write your own callback to remove them, based on the one in the source, if that's what you want. In fact there's an example in this distribution, in "t/delimited.t". delimiter_re The "delimiter_re" parameter is optional. If you do supply it then it should be a ref to an array containing two regexes. It defaults to using single square brackets as the delimiters. Don't use capturing groupings "( )" in your delimiters or things will break. Use non-capturing "(?: )" instead. ignore_quoted If the "ignore_quoted" parameter is supplied and set to a true value, then any URIs immediately preceded with a double-quote char- acter will not be matched, ie your callback will not be executed for them and they'll be treated just as normal text. This is kinda lame but it's in here because I need to be able to ignore things like <img src="http://foo.com/bar.gif"> A better implementation may happen at some point. SEE ALSO
URI::Find. AUTHOR
Kake Pugh (kake@earth.li). COPYRIGHT
Copyright (C) 2003 Kake Pugh. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. CREDITS
Tim Bagot helped me stop faffing over the name, by pointing out that RFC 2396 Appendix E uses "delimited". Dave Hinton helped me fix the regex to make it work for delimited URIs with no title. Nick Cleaton helped me make "ignore_quoted" work. Some of the code was taken from URI::Find. perl v5.8.8 2008-03-01 URI::Find::Delimited(3pm)
All times are GMT -4. The time now is 11:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy