Sponsored Content
Full Discussion: Auto generate Line Numbers
Top Forums Shell Programming and Scripting Auto generate Line Numbers Post 302782365 by djehresmann on Monday 18th of March 2013 04:12:49 PM
Old 03-18-2013
Auto generate Line Numbers

How do I generate line numbers in Vi?

I have this:


Code:
,'04-90020-039N','61423','2GDV00039-0002', SYSDATE);
,'04-90020-040D','61423','2GDV00046-0001', SYSDATE);
,'04-90020-041N','61423','2GDV00038-0002', SYSDATE);
,'04-90020-043D','61423','2GDV00047-0001', SYSDATE);
,'04-90020-044D','73168','2GDV00071-0002', SYSDATE);
,'0453-941-110','1DJ82','0453-941-110', SYSDATE);
,'0456-931-110-01','1DJ82','0456-931-110-01', SYSDATE);
,'0456-933-111','1DJ82','0456-933-111', SYSDATE);
,'0N687022-509','11447','2ZKH85070-0005', SYSDATE);
,'1000538','83330','1000538', SYSDATE);

And I want to put a line number in front of the line. This goes on for 23k+ lines.

Code:
1,'04-90020-039N','61423','2GDV00039-0002', SYSDATE);
2,'04-90020-040D','61423','2GDV00046-0001', SYSDATE);
3,'04-90020-041N','61423','2GDV00038-0002', SYSDATE);
4,'04-90020-043D','61423','2GDV00047-0001', SYSDATE);
5,'04-90020-044D','73168','2GDV00071-0002', SYSDATE);
6,'0453-941-110','1DJ82','0453-941-110', SYSDATE);
7,'0456-931-110-01','1DJ82','0456-931-110-01', SYSDATE);
8,'0456-933-111','1DJ82','0456-933-111', SYSDATE);
9,'0N687022-509','11447','2ZKH85070-0005', SYSDATE);
10,'1000538','83330','1000538', SYSDATE);


thanks.
Moderator's Comments:
Mod Comment
Please use code tags when posting data and code samples!

Last edited by vgersh99; 03-18-2013 at 06:49 PM.. Reason: code tags, please!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

generate level numbers

Hi... I have a sequence of jobs and its predecessors.. Input Job_Name Predecessor A NULL B1 A B2 A B3 B1 C B3 C B2 So based on these i have to generate the level Number What i mean is Let A be level 1 for B1 to happen it should have done A so B1 level is A+1 = 1+1 = 2 (12 Replies)
Discussion started by: pbsrinivas
12 Replies

2. Shell Programming and Scripting

How to generate a series of numbers

Hi All, I have a requirement where in I have an input as follows:- input=1-4,6,8-10,12-15 I need to explode this range into an output file as follows:- 1 2 3 4 6 8 9 10 12 13 14 15 My input may vary like 1,5-9,11-13,15-17....... (3 Replies)
Discussion started by: rony_daniel
3 Replies

3. Shell Programming and Scripting

shell script to auto process ten random files and generate logs

Hello member's I'm learning to script in the ksh environment on a Solaris Box. I have 10 files in a directory that I need to pass, as input to a batch job one by one. lets say, the files are named as follows: abcd.txt ; efgh.bat ; wxyz.temp etc. (random filenames with varied extensions ).... (1 Reply)
Discussion started by: novice82
1 Replies

4. UNIX for Dummies Questions & Answers

auto generate ID

Using 'awk' i want to generate new ID..which should be increment of maximum number given as UID.. eg..in /etc/passwd..3rd field is UID..and we just want next user ID for this file..keep in mind that file is not sorted..so last line in the file may not display last UID..means UIDs in file are... (1 Reply)
Discussion started by: aadi_uni
1 Replies

5. Shell Programming and Scripting

How to Auto Generate pg_hba.conf file at Startup

Hi there, I'll start by letting you you know my current shell programming and scripting is very week (and thats a euphemistic description). I'm really just wanting someone to make a suggestion to get me rolling in the right direction though absolutely any help is of course welcome. Set Up -... (0 Replies)
Discussion started by: lukusc
0 Replies

6. Shell Programming and Scripting

How to generate 10.000 unique numbers?

hello, does anybody can give me a hint on how to generate a lot of numbers which are not identically via scripting etc? (7 Replies)
Discussion started by: xrays
7 Replies

7. Shell Programming and Scripting

Generate numbers 000 to 999

I have tried to make this script to generate: 000 001 002 ... 997 998 999 i=0 while do if then echo "00"$i else if && then echo "0"$i (5 Replies)
Discussion started by: locoroco
5 Replies

8. Programming

generate array of random numbers

hi guys, I am writing a c program that generates a two dimensional array to make matrix and a vector of random numbers and perform multiplication. I can't figure out whats wrong with my code. It generates a matrix of random numbers but all the numbers in the vector array is same and so is the... (2 Replies)
Discussion started by: saboture88
2 Replies

9. Shell Programming and Scripting

Generate random numbers in script

i want to generate a random number through a script, and even if anyone reads the script, they wont be able to figure out what the random number is. only the person who setup the script would know it. something like this could work: random the full thread is here: ... (13 Replies)
Discussion started by: SkySmart
13 Replies

10. Shell Programming and Scripting

Script to generate sequence of numbers

I need awk script to generate part number sequencing based on data in multiple columns like below Input File --------- Col A|Col B|Col C| 1|a|x| 2|b|y| |c|z| | |m| | |n| And out put should be like 1ax 1ay 1az 1am 1an 1bx 1by (6 Replies)
Discussion started by: aramacha
6 Replies
CIDR(3pm)						User Contributed Perl Documentation						 CIDR(3pm)

NAME
Net::CIDR - Manipulate IPv4/IPv6 netblocks in CIDR notation SYNOPSIS
use Net::CIDR; use Net::CIDR ':all'; print join(" ", Net::CIDR::range2cidr("192.68.0.0-192.68.255.255", "10.0.0.0-10.3.255.255")) . " "; # # Output from above: # # 192.68.0.0/16 # 10.0.0.0/14 print join(" ", Net::CIDR::range2cidr( "dead:beef::-dead:beef:ffff:ffff:ffff:ffff:ffff:ffff")) . " "; # # Output from above: # # dead:beef::/32 print join(" ", Net::CIDR::range2cidr("192.68.1.0-192.68.2.255")) . " "; # # Output from above: # # 192.68.1.0/24 # 192.68.2.0/24 print join(" ", Net::CIDR::cidr2range("192.68.0.0/16")) . " "; # # Output from above: # # 192.68.0.0-192.68.255.255 print join(" ", Net::CIDR::cidr2range("dead::beef::/46")) . " "; # # Output from above: # # dead:beef::-dead:beef:3:ffff:ffff:ffff:ffff:ffff @list=("192.68.0.0/24"); @list=Net::CIDR::cidradd("192.68.1.0-192.68.1.255", @list); print join(" ", @list) . " "; # # Output from above: # # 192.68.0.0/23 print join(" ", Net::CIDR::cidr2octets("192.68.0.0/22")) . " "; # # Output from above: # # 192.68.0 # 192.68.1 # 192.68.2 # 192.68.3 print join(" ", Net::CIDR::cidr2octets("dead::beef::/46")) . " "; # # Output from above: # # dead:beef:0000 # dead:beef:0001 # dead:beef:0002 # dead:beef:0003 @list=("192.68.0.0/24"); print Net::CIDR::cidrlookup("192.68.0.12", @list); # # Output from above: # # 1 @list = Net::CIDR::addr2cidr("192.68.0.31"); print join(" ", @list); # # Output from above: # # 192.68.0.31/32 # 192.68.0.30/31 # 192.68.0.28/30 # 192.68.0.24/29 # 192.68.0.16/28 # 192.68.0.0/27 # 192.68.0.0/26 # 192.68.0.0/25 # 192.68.0.0/24 # 192.68.0.0/23 # [and so on] print Net::CIDR::addrandmask2cidr("195.149.50.61", "255.255.255.248")." "; # # Output from above: # # 195.149.50.56/29 DESCRIPTION
The Net::CIDR package contains functions that manipulate lists of IP netblocks expressed in CIDR notation. The Net::CIDR functions handle both IPv4 and IPv6 addresses. @cidr_list=Net::CIDR::range2cidr(@range_list); Each element in the @range_list is a string "start-finish", where "start" is the first IP address and "finish" is the last IP address. range2cidr() converts each range into an equivalent CIDR netblock. It returns a list of netblocks except in the case where it is given only one parameter and is called in scalar context. For example: @a=Net::CIDR::range2cidr("192.68.0.0-192.68.255.255"); The result is a one-element array, with $a[0] being "192.68.0.0/16". range2cidr() processes each "start-finish" element in @range_list separately. But if invoked like so: $a=Net::CIDR::range2cidr("192.68.0.0-192.68.255.255"); The result is a scalar "192.68.0.0/16". Where each element cannot be expressed as a single CIDR netblock range2cidr() will generate as many CIDR netblocks as are necessary to cover the full range of IP addresses. Example: @a=Net::CIDR::range2cidr("192.68.1.0-192.68.2.255"); The result is a two element array: ("192.68.1.0/24","192.68.2.0/24"); @a=Net::CIDR::range2cidr( "d08c:43::-d08c:43:ffff:ffff:ffff:ffff:ffff:ffff"); The result is an one element array: ("d08c:43::/32") that reflects this IPv6 netblock in CIDR notation. range2cidr() does not merge adjacent or overlapping netblocks in @range_list. @range_list=Net::CIDR::cidr2range(@cidr_list); The cidr2range() functions converts a netblock list in CIDR notation to a list of "start-finish" IP address ranges: @a=Net::CIDR::cidr2range("10.0.0.0/14", "192.68.0.0/24"); The result is a two-element array: ("10.0.0.0-10.3.255.255", "192.68.0.0-192.68.0.255"). @a=Net::CIDR::cidr2range("d08c:43::/32"); The result is a one-element array: ("d08c:43::-d08c:43:ffff:ffff:ffff:ffff:ffff:ffff"). cidr2range() does not merge adjacent or overlapping netblocks in @cidr_list. @netblock_list = Net::CIDR::addr2cidr($address); The addr2cidr function takes an IP address and returns a list of all the CIDR netblocks it might belong to: @a=Net::CIDR::addr2cidr('192.68.0.31'); The result is a thirtythree-element array: ('192.68.0.31/32', '192.68.0.30/31', '192.68.0.28/30', '192.68.0.24/29', [and so on]) consisting of all the possible subnets containing this address from 0.0.0.0/0 to address/32. Any addresses supplied to addr2cidr after the first will be ignored. It works similarly for IPv6 addresses, returning a list of one hundred and twenty nine elements. $cidr=Net::CIDR::addrandmask2cidr($address, $netmask); The addrandmask2cidr function takes an IP address and a netmask, and returns the CIDR range whose size fits the netmask and which contains the address. It is an error to supply one parameter in IPv4-ish format and the other in IPv6-ish format, and it is an error to supply a netmask which does not consist solely of 1 bits followed by 0 bits. For example, '255.255.248.192' is an invalid netmask, as is '255.255.255.32' because both contain 0 bits in between 1 bits. Technically speaking both of those *are* valid netmasks, but a) you'd have to be insane to use them, and b) there's no corresponding CIDR range. @octet_list=Net::CIDR::cidr2octets(@cidr_list); cidr2octets() takes @cidr_list and returns a list of leading octets representing those netblocks. Example: @octet_list=Net::CIDR::cidr2octets("10.0.0.0/14", "192.68.0.0/24"); The result is the following five-element array: ("10.0", "10.1", "10.2", "10.3", "192.68.0"). For IPv6 addresses, the hexadecimal words in the resulting list are zero-padded: @octet_list=Net::CIDR::cidr2octets("::dead:beef:0:0/110"); The result is a four-element array: ("0000:0000:0000:0000:dead:beef:0000", "0000:0000:0000:0000:dead:beef:0001", "0000:0000:0000:0000:dead:beef:0002", "0000:0000:0000:0000:dead:beef:0003"). Prefixes of IPv6 CIDR blocks should be even multiples of 16 bits, otherwise they can potentially expand out to a 32,768-element array, each! @cidr_list=Net::CIDR::cidradd($block, @cidr_list); The cidradd() functions allows a CIDR list to be built one CIDR netblock at a time, merging adjacent and overlapping ranges. $block is a single netblock, expressed as either "start-finish", or "address/prefix". Example: @cidr_list=Net::CIDR::range2cidr("192.68.0.0-192.68.0.255"); @cidr_list=Net::CIDR::cidradd("10.0.0.0/8", @cidr_list); @cidr_list=Net::CIDR::cidradd("192.68.1.0-192.68.1.255", @cidr_list); The result is a two-element array: ("10.0.0.0/8", "192.68.0.0/23"). IPv6 addresses are handled in an analogous fashion. $found=Net::CIDR::cidrlookup($ip, @cidr_list); Search for $ip in @cidr_list. $ip can be a single IP address, or a netblock in CIDR or start-finish notation. lookup() returns 1 if $ip overlaps any netblock in @cidr_list, 0 if not. $ip=Net::CIDR::cidrvalidate($ip); Validate whether $ip is a valid IPv4 or IPv6 address, or a CIDR. Returns its argument or undef. Spaces are removed, and IPv6 hexadecimal address are converted to lowercase. If $ip contains a "/", it must be a valid CIDR, otherwise it must be a valid IPv4 or an IPv6 address. A technically invalid CIDR, such as "192.168.0.1/24" fails validation, returning undef. BUGS
Garbage in, garbage out. Always use cidrvalidate() before doing anything with untrusted input. Otherwise, "slightly" invalid input will work (extraneous whitespace is generally OK), but the functions will croak if you're totally off the wall. AUTHOR
Sam Varshavchik <sam@email-scan.com> With some contributions from David Cantrell <david@cantrell.org.uk> perl v5.14.2 2012-05-01 CIDR(3pm)
All times are GMT -4. The time now is 10:33 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy