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

Code:
1.1.1.1
102.1.2.3
102.102.1.10
102.102.102.1

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

Code:
001.001.001.001
102.001.002.003
102.102.001.010
102.102.102.001

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  
Try:
Code:
awk -F. '{printf "%03d.%03d.%03d.%03d\n",$1,$2,$3,$4}' file

or
Code:
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:

Code:
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
1.2.3.4
12.13.14.15
123.234.1.15
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.

bakunin

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  
Thanks

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

or
Code:
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: 216.234.246.158 216.234.246.158 `` 24.249.221.22 24.249.221.200 `` 24.249.226.0 ... (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: 41.138.128.0 41.138.159.255 location 41.138.160.0 41.138.191.255 location 41.138.192.0 41.138.207.255 location 41.138.208.0 41.138.223.255 location 41.138.224.0 41.138.239.255 location 41.138.240.0 41.138.255.255 location 41.138.32.0 ... (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=192.168.1.200 Ip address B=192.168.2.15 So the subnet changes from 1 to 2 but I want to list all possible ip addresses between the 2.. Which would be: 192.168.1.200... (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 ====== abc@mail.com abd@mail.com abe@mail.com second.txt <<< contains webpage links ======== http//www.test.com/abc/index.html http://www.test.com/abd/index.html http://www.test.com/abe/index.html... (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

Padding

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