Visit The New, Modern Unix Linux Community

IP address list padding with 0

Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers IP address list padding with 0
# 1  
IP address list padding with 0

Hi All,
I'm hoping one of you helpful lot could come up with a way I can do the below. I've been trying to think how is best but have struggled to come up with a way.

I have a list of IP addresses in the below format


I need to compare this data to some other data which is in the below form


As you can see i need to ensure each octet of the IP address is 3 digits in length, if it isnt then pad them out using zero's.

I honestly have no idea how to do it so any help you could provide would be really apprecaited.

Thanks in advance.
# 2  
awk -F. '{printf "%03d.%03d.%03d.%03d\n",$1,$2,$3,$4}' file

awk '{for(i=1; i<=NF; i++) $i=sprintf("%03d",$i)}1' FS=. OFS=.  file

This User Gave Thanks to Scrutinizer For This Post:
# 3  
Depending on what else you want to do along with the conversion it might be good to do it in shell. Using the typeset-abilities of the Korn shell:

typeset -RZ3 b1=""
typeset -RZ3 b2=""
typeset -RZ3 b3=""
typeset -RZ3 b4=""

while IFS='.' read b1 b2 b3 b4 ; do
     print - "$b1.$b2.$b3.$b4"
done <<-EOF

-R right-justifies the variables content, -Z fills with zeroes (instead of blanks) and 3 fixes the length to 3 digits. i.e "1" becomes "001" therefore. Every value assigned to a variable defined that way will automatically converted to this format.

The loop is just there to showcase how to split the input into 4 variables, do the conversion and put the parts together again without any external tool.

I hope this helps.


Last edited by bakunin; 01-30-2016 at 09:09 AM..
This User Gave Thanks to bakunin For This Post:
# 4  
You should confirm that the source of the data with leading zeros is actually decimal and not octal.
# 5  

Originally Posted by Scrutinizer
awk -F. '{printf "%03d.%03d.%03d.%03d\n",$1,$2,$3,$4}' file

awk '{for(i=1; i<=NF; i++) $i=sprintf("%03d",$i)}1' FS=. OFS=.  file

This worked - Thanks

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #170
Difficulty: Easy
RedHat became a subsidiary of IBM in 2019.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

List the IP address of list of servers

Hi I have a file containing server names and i can ssh to all these servers without password. Could any body suggest me how to list out IP address of all the servers? Now i am manually doing this, like ssh to each server and run "ifcong -a" command and copy the ipaddress to a excel sheet.... (5 Replies)
Discussion started by: kumar85shiv
5 Replies

2. Shell Programming and Scripting

Search IP Address in list of ranges -- not working great

I have been struggling with a script to automate some security related activities. I have it pretty much working, all except the search. I have an input file formatted as such: `` `` ... (4 Replies)
Discussion started by: tsunami4u
4 Replies

3. Cybersecurity

Configure iptables to allows list of MAC address

Hi all, I want to make this nw diagram: Small NW ---(eth1)-- Linux iptables --(eth0)---LAN NW And with these requirements: 1. Allow only 1 Mac address aa-aa-aa-aa-aa-aa from Small NW to LAN NW 2. Allow list of Mac addresses from LAN NW access to Small NW What will I... (2 Replies)
Discussion started by: blackthu80
2 Replies

4. UNIX for Dummies Questions & Answers

Find unique IP address in a list

Hello, I got a list of IP address from which I would like to remove the duplicates. I cat the file and pipe it to uniq -u or uniq -c, I got the same output with all the duplicates. Can anybody please tell me how I can remove the duplicates IPs from this file? This is what I used. cat filename |... (3 Replies)
Discussion started by: Pouchie1
3 Replies

5. Shell Programming and Scripting

Fast algorithm to compare an IP address against a list of IP sections?

I have two files: file1: location location location location location location ... (7 Replies)
Discussion started by: kevintse
7 Replies

6. Shell Programming and Scripting

ksh - how to list all ip address between 2 ip address

Trying to do a ksh script that needs to list all ip address between ip address a and b .. ie. Ip address A= Ip address B= So the subnet changes from 1 to 2 but I want to list all possible ip addresses between the 2.. Which would be: (4 Replies)
Discussion started by: frustrated1
4 Replies

7. 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

8. UNIX for Dummies Questions & Answers

send email from address list and subject list

Hello, Here is my problem. there are two files. first.txt <<< contains email address ====== second.txt <<< contains webpage links ======== http// (2 Replies)
Discussion started by: paulds
2 Replies

9. 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

10. 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

Featured Tech Videos