Sponsored Content
Full Discussion: Script for Country Codes
Top Forums UNIX for Advanced & Expert Users Script for Country Codes Post 302181238 by unilover on Wednesday 2nd of April 2008 11:44:19 AM
Old 04-02-2008
OK, this is what you have to do in order to understand how this code works:

1. Execute:
Code:
sed 's=\(.*\) \(.*\)=if($4~/^\2/)print $0\" \1\"=' country-codes.txt

It will convert each line of the "country-code" to an "if-statements" in awk-language that instructs awk that:

if the forth-field (of the read-in line) starts with the "number" then, print the entire line followed by the "name".

Thus, if you run awk on the phone-lines.txt file with those generated "if-statements" as the executing-commands on the read-in lines, the result will be "addition of the appropriate Country-City-Name to the end of the line, based on the starting number in the forth-field of the read-in line".

You can see it for yourself, by executing:
Code:
awk "{$(sed 's=\(.*\) \(.*\)=if($4~/^\2/)print $0\" \1\"=' country-codes.txt)}" phonelines.txt

Now, we have to add the "Second Country-City-Name to the end of the line, based on the starting number in the fifth-field of the read-in line".

We do this by piping the output of the above-command to another awk who has no phonelines.txt as its file-parameter (so, it will be forced to read the output of the previous awk in the pipe) and, as its set of "if-statements", the same sed is used but this time it is generating "$5~/^ ..." instead of "$4~/^ ..." to instruct (the second) awk that:

if the fifth-field (of the read-in line) starts with the "number" then, print the entire line followed by the "name".

Now, as for the speed, I'm afraid I don't have a 500000 line phonelines.txt file and more than that, it depends on the computer on which you're running this commands. But, one thing that I am very sure of is that both sed and awk are very fast in what they do.

As for the description of how the sed is generating the "if-statements", I would refer you to the description of "Regular Expression" either on the internet onin man-pages.

Good LuckSmilie
 

6 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Country Codes script faster response ;please help

Dear all I have group of input lines which look like this These input lines is placed in a file named phonelines.txt and there is a script which match $4 and $5 with country codes placed in another file named country-codes.txt and its contents is : Italy 39 Libyana 21892 Thuraya... (12 Replies)
Discussion started by: zanetti321
12 Replies

2. Shell Programming and Scripting

whois country help

Hello folks, I have list of ips like 1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4 whois 1.1.1.1 |grep -E 'country|Country' it show country=US or whatever. so i have number of ips in text file, how i can use above script to automate output like 1.1.1.1 US 2.2.2.2 CA 3.3.3.3 FR (3 Replies)
Discussion started by: learnbash
3 Replies

3. Shell Programming and Scripting

'watch' not interpreting escape codes in bash script

Hi there, I'm fairly new to bash scripting and already having some troubles. I'm making a script that can print some series of strings in colors based in the information of a file, for simplicity let's say it only does: #!/bin/bash printf "\eWhen you execute this in the command line it... (1 Reply)
Discussion started by: Arashi
1 Replies

4. Shell Programming and Scripting

Bash Shell Script Exit Codes

Here is my daily stupid question: How can I tell a script to only execute if the other scripts exits successfully? So "script A" executes and it executes successfully (0),then "script B" will run or else "script A "executes and it exits unsucessfully (1) then "script B" will read return... (6 Replies)
Discussion started by: metallica1973
6 Replies

5. Shell Programming and Scripting

ip 2 country sorting[solved]

Dear folks. I have list of ip address from different country, i would like check from script this ip address belong to which country, please suggest any command, i have more than 200 ip address so i need to do it via script. Script will show me country code and its City if possible? ... (0 Replies)
Discussion started by: learnbash
0 Replies

6. Forum Support Area for Unregistered Users & Account Problems

Registering from blocked country

Hi, I'm come from Vietnam and want to join to Unix forum just because I like Unix programming and want to learning more. My IP is allocate by DHCP server so it is dynamic. Here is my desired username and my email: Username: lucasdo Email: rennersstar@gmail.com Thank you very much for... (0 Replies)
Discussion started by: lucasdo
0 Replies
ISC-CONFIG.SH(1)						       BIND9							  ISC-CONFIG.SH(1)

NAME
isc-config.sh - Get information about the installed version of ISC BIND SYNOPSIS
isc-config.sh [--cflags] [--exec-prefix] [--libs] [--prefix] [--version] [libraries...] DESCRIPTION
isc-config.sh prints information related to the installed version of ISC BIND, such as the compiler and linker flags required to compile and link programs that use ISC BIND libraries. The optional libraries are used to report specific details for compiling and linking for the listed libraries. The allowed choices are: isc, isccc, isccfg, dns, lwres, and bind9. Multiple libraries may be listed on the command line. (Some libraries require other libraries, so are implied.) OPTIONS
--cflags Prints the compiler command line options required to compile files that use ISC BIND. Use the libraries command line argument(s) to print additional specific flags to pass to the C compiler. --exec-prefix Prints the directory prefix used in the ISC BIND installation for architecture dependent files to standard output. --libs Prints the linker command line options used to link with the ISC BIND libraries. Use the libraries command line argument(s) to print additional specific flags. --prefix Prints the directory prefix used in the ISC BIND installation for architecture independent files to standard output. --version Prints the version of the installed ISC BIND suite. RETURN VALUES
isc-config.sh returns an exit status of 1 if invoked with invalid arguments or no arguments at all. It returns 0 if information was successfully printed. AUTHOR
Internet Systems Consortium COPYRIGHT
Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC") BIND9 December 19, 2008 ISC-CONFIG.SH(1)
All times are GMT -4. The time now is 01:34 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy