Sponsored Content
Top Forums Shell Programming and Scripting awk pad 1 column with leading zero if char > 12 Post 302968272 by SDohmen on Monday 7th of March 2016 08:11:43 AM
Old 03-07-2016
awk pad 1 column with leading zero if char > 12

Hello,

I got a question. I have several csv files with lots of data in it and for the first column i have EAN codes.

The problem that i am facing is that some of these codes have the leading 0 removed so they are 12 or less chars while a EAN code is (always?) 13 chars.

For this i used a sed script:
Code:
sed 's/\<[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\>/0&/'

So far this works fine but i have no check on this to see how many lines have the extra 0 added. Is there a way to do this in awk and have a seperate file with the padded codes? Of course i need to save the rest of the data that is present in the files also.

Some sample code is below:
Code:
790069375798;94019;DIR-505/E;8;15.12;D-Link;CMT
4039784518926;94045;2.633-002.0;2;13.00;Kärcher;CMT
8806085027084;92798;CLT-W406/SEE;1;9.16;Samsung;CMT
5025232683680;94246;DMC-FZ200;10;251.26;Panasonic;CMT
885370404449;94571;3LR-00001;10;30.25;Microsoft;CMT

In above sample code are the first and last line missing the leading 0.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to check a column contain numeric or char data type ??

I have a file called clientname_filename.csv whose contents are like col1|col2|col3|col4| 510|abc|xxx|450| 510|abc11|yyy|350 510|pqr99|zzz| 670 512|222|439|110 Here i have check the contents of column for data type. i have a constraints that col1 always contain Numeric value column 2... (12 Replies)
Discussion started by: jambesh
12 Replies

2. UNIX for Dummies Questions & Answers

trim leading zero in certain column in a string

I would like to know how to trim leading zero only in certain column of of a string, example: hdhshdhdhd000012mmmm0002abc <===== before hdhshdhdhd 12mmmm 2abc <===== after Thanks for your help. (2 Replies)
Discussion started by: dngo
2 Replies

3. Shell Programming and Scripting

truncating leading zeros of a column in a file

Hi I have a file in which I have 5 columns which are delimited by “|” as shown ABC|12|YAK|METRIC|000000019.5 XYZ|10|ABX|META|000000002.5 Now my requirement is to take the last column trim the leading zero's for that column values and write back to the same file in the same... (7 Replies)
Discussion started by: nvuradi
7 Replies

4. Shell Programming and Scripting

Fixed Width Join & Pad Sed/Awk Help

I was wondering someone might be able to push me in the right direction, I am writing a script to modify fixed-width spool files, As you can see below the original spool file broke a single line into two for printability sake. I have had been able do the joins using sed, the thing I am... (10 Replies)
Discussion started by: Cho Nagurai
10 Replies

5. Shell Programming and Scripting

Append char to the end of string from Nth column

I'm sure this is easy to do but I can't find a one line command with awk or sed to append a char to the end of the string from Nth column. Any sugestion please? Thanks (2 Replies)
Discussion started by: cabrao
2 Replies

6. Shell Programming and Scripting

Removing leading zeros for a decimal column

removing leading zeros for a decimal column in a file which has string & decimal values ,,,,,6630140,XXXXXXXXXXXXXXX, 0020.00,USA ,,,,,6630150,XXXXXXXXXXXXXXXL (xyz, 0010.00,USA ,,,,,6630150,XXXXXXXXXXXXXXX(xyz), 1300.00,USA My file contains 9 columns. Out 9 columns, 8th column contains the... (9 Replies)
Discussion started by: marpadga18
9 Replies

7. Shell Programming and Scripting

awk and leading zeroes

I have the following script that renames filenames like: blah_bleh_91_2011-09-26_00.05.43AM.xls and transforms it in: 91_20110926_000543_3_blih.xls for a in *.xls; do b="$(echo "${a}" | cut -d '_' -f4)" dia=`echo ${b} | cut -c9-10` mes=`echo ${b} | cut -c6-7` anio=`echo ${b} | cut -c1-4`... (4 Replies)
Discussion started by: Tr0cken
4 Replies

8. Shell Programming and Scripting

How to pad with leading zeros for current time?

I'm using cygwin bash to submit scheduled tasks (kinda like cron jobs) in windows and the following script is giving me grief. I need to format the current time with leading zeros before 10AM for the hour field. In this example, I manually typed in "09:50" instead of using the `printf...`... (2 Replies)
Discussion started by: siegfried
2 Replies

9. Shell Programming and Scripting

Left pad spaces using awk or sed

Hi,I've a unix pipe delimited file as below f1|f2|f3|f4|f5|f6 My requirement is to pad spaces on the left to fields f2, f3 and f5. Field Lengths according to file layout f2 - 4 char f3 - 5 char f5 - 3 char If my record is as below 1|43|bc|h0|34|a Output record should be as below 1| 43| bc|h0|... (4 Replies)
Discussion started by: Soujanya_K
4 Replies

10. UNIX for Dummies Questions & Answers

Inspecting leading char in string for slash

In a SCO Unix shop, I am working on the following script to move any file to its same location on the target machine (called 'othersy' here): pwd=`pwd` for i in "$@" do echo " $i " if ; then echo 1; else echo 0; fi rcp -p $i othersy:$pwd/$i echo "Finished with ^ If I find a file... (4 Replies)
Discussion started by: wbport
4 Replies
cfspeed(3C)															       cfspeed(3C)

NAME
cfgetospeed(), cfsetospeed(), cfgetispeed(), cfsetispeed() - tty baud rate functions SYNOPSIS
DESCRIPTION
These functions set and get the input and output speed codes in the termios structure referenced by termios_p. The termios structure con- tains these speed codes representing input and output baud rates as well as other terminal related parameters. Setting the parameters on a terminal file does not become effective until is successfully called. returns the output speed code from the termios structure referenced by termios_p. sets the output speed code in the termios structure referenced by termios_p to speed. The speed code for a baud rate of zero, is used to termi- nate the connection. If is specified, the modem control lines are no longer asserted, which normally discon- nects the line. returns the input speed code from the termios structure referenced by termios_p. sets the input speed code in the termios structure referenced by termios_p to speed. RETURN VALUE
returns the output speed code from the termios structure referenced by termios_p. returns the input speed code from the termios structure referenced by termios_p. and return zero upon successful completion. Otherwise, they return -1 and set to indicate the error. ERRORS
and fail when the following condition is encountered: [EINVAL] The value of speed is outside the range of possible speed codes as specified in WARNINGS
and can be used to set speed codes in the termios structure that are not supported by the terminal hardware. SEE ALSO
tcattribute(3C), thread_safety(5), termio(7). STANDARDS CONFORMANCE
cfspeed(3C)
All times are GMT -4. The time now is 04:31 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy