Padding leading zero

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Padding leading zero
# 1  
Old 07-01-2011
Padding leading zero

hi All
i am new to linux...

source txt ..
281-BUM-5M BUM-5M 0 0
282-BUM-5M BUM-5M 0 0
83-BUM-5M BUM-5M 0 0

is it possible to use bash script to convert to
(remove the "-" and fill up to 4 digit" ?

0281 BUM-5M BUM-5M 0 0
0282 BUM-5M BUM-5M 0 0
0083 BUM-5M BUM-5M 0 0

thanks a lot.

Last edited by Franklin52; 07-02-2011 at 06:40 AM.. Reason: Please use code tags, thank you
# 2  
Old 07-01-2011

awk '{x=substr($0,1,index($0,"-")-1);y=substr($0,index($0,"-")+1);printf "%04d %s\n",x,y;}' file

This User Gave Thanks to guruprasadpr For This Post:
# 3  
Old 07-01-2011
This is a pure shell solution - should work in bash as well.

#!/usr/bin/env ksh

while read first rest
    printf "%04d %s %s\n" ${first/-/ } "$rest"
done <data-file

These 2 Users Gave Thanks to agama For This Post:
# 4  
Old 07-02-2011
Without a loop:

$ cat testfile | sed -r 's/^([0-9]+)-/\1 /' | xargs printf "%04d %s %s %d %d\n" 
0281 BUM-5M BUM-5M 0 0
0282 BUM-5M BUM-5M 0 0
0083 BUM-5M BUM-5M 0 0

Or (for our pedants):

$ sed -r 's/^([0-9]+)-/\1 /' testfile | xargs printf "%04d %s %s %d %d\n"

Last edited by yazu; 07-02-2011 at 01:45 AM..
This User Gave Thanks to yazu For This Post:
# 5  
Old 07-02-2011
thanks a lot. i got methods of doing this. thanks so much.
# 6  
Old 07-02-2011
while IFS=- read nr rest; do 
  printf "%04d %s\n" "$nr" "$rest"
done < infile

awk '{sub(/-/,FS);$1=sprintf("%04d",$1)}1' infile

Last edited by Scrutinizer; 07-02-2011 at 01:44 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Padding a csv value with 0's

I have this csv file that I would like to sort on the 20th and 21st field. They are high lighted below. My challenge is that when I sort on those fields they are not in order as I would have liked. It seems like I have to pad those fields to the longest value in that fields data. ... (6 Replies)
Discussion started by: GroveTuckey
6 Replies

2. Shell Programming and Scripting

bash padding

Hi all Is there a way to pad the output of a bash script see that code below for i in `sed -n '/Start Printer/,/End Printer/p' /u/ab/scripts/hosts.conf | awk '!/^#/ {print $2}' | egrep -v 'broke|primera' `; do pages=`snmpget -Ov -v1 -c public $i sysLocation.0 | awk '{print $2}'` ... (3 Replies)
Discussion started by: ab52
3 Replies

3. Shell Programming and Scripting

Padding with zeros.

Hi Friends, I would like to left pad with "0's" on first column say (width six) I have a large file with the format: FILE: 1: ALFRED 84378 NY 8385: JAMES 88385 FL 323: SMITH 00850 TX My output needs to be like: 000001: ALFRED 84378 NY 008385: JAMES 88385 FL 000323: SMITH... (10 Replies)
Discussion started by: sbasetty
10 Replies

4. UNIX for Dummies Questions & Answers

Zero padding dates

I have a file with records containing dates like: SMPBR|DUP-DO NOT USE|NEW YORK||16105|BA5270715|2007-6-6|MWERNER|109||||JOHN||SMITH|MD|72211118||||||74559|21 WILMINGTON RD||D|2003-11-6|SL# MD CONTACT-LIZ RICHARDS|||0|Y|N||1411458| How can I get the date fields in each of my records to be... (1 Reply)
Discussion started by: ChicagoBlues
1 Replies

5. Shell Programming and Scripting

Help needed in padding leading zeros

Hi all, I have file with numeric values. I need to pad each value with leading zeros such that total lenght of each value is 16. Example: cat tmp.txt 502455 50255 5026 5027 5028 Output 0000000000502455 0000000000050255 0000000000005026 0000000000005027 0000000000005028 Any... (12 Replies)
Discussion started by: jakSun8
12 Replies

6. Shell Programming and Scripting

Padding in Unix

I have a file with different character counts on each line how do i make it with unique character counts. example: 1st line : ABCD 011 XYZ 0000 YYYY BBB TEADINGDA 2nd line: ABCD 011 xys 0010 YYYY BBB TEAD 3rd line : ABCD 022 YXU 000 UUU BBB TE 1st line is 43... (3 Replies)
Discussion started by: rudoraj
3 Replies

7. Programming

Byte Padding

Hi, Can someone explain what is byte padding? For ex: struct emp{ char s; int b; char s1; int b1; long b3; char s3; } What will be the size of this structure? Thanks (6 Replies)
Discussion started by: naan
6 Replies

8. UNIX for Dummies Questions & Answers


Hi Can anyone tell me how to pad zeroes on the left side to a numeric string in unix shell scripting Your answer is very much appreciated Thanks Vijay (2 Replies)
Discussion started by: vijaygopalsk
2 Replies

9. Programming

Zero Padding to a string

I am writing a C program which a part of it needs to padding zero in front of a string. The program will get a sting from an ASCII file which the maxium length of this string is 5 char long. The string can sometimes less the 5 char long. In order to make it with the same length '0's are being... (3 Replies)
Discussion started by: Wing m. Cheng
3 Replies

10. UNIX for Advanced & Expert Users

Padding issues

Hello, Structure padding & structure size are different on Compaq & HP UNIX. When structures are transfered via netfork from Compaq to HP will this be a problem? If yes, what can be the solution? Thanks, shilpa (2 Replies)
Discussion started by: informshilpa
2 Replies
Login or Register to Ask a Question