12-26-2008
Scripting the process to edit a large file
Hi,
I need to make a script to edit a file. File is a large file in below format
Version: 2008120101
;$INCLUDE ./abc/xyz/Delhi
;$INCLUDE ./abc/xyz/London
$INCLUDE ./abc/xyz/New York
First line in the file is version number which is in year,month,date and serial number format. Each time when file is changed current month,date and serial number is changed.
Other 3 lines with INCLUDE statements are point of focus, where only one line will be active at a time without comment. I need to have a script which can change the version number each time when any change is being made and if input parameter is London then line with reference to London should be uncommented and other two should be commented. Same way if input parameter is New York then line with new york should be uncommented and other two should be commented and version number should change. I hope I could clarify the situation and my requirement. I am not a core Unix guy, so thought to take genious people's help. Thanks a lot in advance.
Regards.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
How to edit large file using vi where you can't increase /usr/var/tmp anymore? (3 Replies)
Discussion started by: nazri
3 Replies
2. Shell Programming and Scripting
I am trying to edit a file that has 33k+ records. In this file I need to edit each record that has a 'Y' in the 107th position and change the 10 fields before the 'Y' to blanks. Not all records have a 'Y' in the 107th field.
ex:
... (8 Replies)
Discussion started by: jxh461
8 Replies
3. Shell Programming and Scripting
I am dealing with a very large firewall logfile (more than 10G),
the logfile like this
*snip*
Nov 9 10:12:01 testfirewall root:
Nov 9 10:12:01 testfirewall root: 0:00:11 accept testfw01-hme0 >hme0 proto: icmp;
src: test001.example.net; dst: abc.dst.net; rule: 1; icmp-type: 8;... (8 Replies)
Discussion started by: fedora
8 Replies
4. Shell Programming and Scripting
hi All,
Plz let me know how to edit a file with 2000000 records.
each record contains with 40 field seperated by |.
i want modify 455487 record, but i am uable to edit this large file using vi editor in unix.
plz let me know how to modify this file.
Thanks in advance.
-Bali Reddy (3 Replies)
Discussion started by: balireddy_77
3 Replies
5. Shell Programming and Scripting
:confused:Folks,
I have a file with 50 million records having 2 columns. I have to do the below:
1. Generate some random numbers of a fixed length.
2. Replace the second column of randomly chosen rows with the random numbers.
I tried using a little bit of perl to generate random numbers... (6 Replies)
Discussion started by: mvijayv
6 Replies
6. Red Hat
hi all,
We are trying to run a process in the background and in the process we call fork ;and wait for the child process to finish .We find that the died = wait(&status); happens after 10 seconds randomly and sometimes completes in time (within 1 sec)
This behavior is seen only when the... (1 Reply)
Discussion started by: vishnu.priya
1 Replies
7. Shell Programming and Scripting
Whenever I am trying to edit a file in unix with vi editor, I am getting the following error:
<data>
:Tmp file too large
Is there any way that I can edit the file other than vi. Any help is really appreciated.
Thanks (10 Replies)
Discussion started by: bobby1015
10 Replies
8. Shell Programming and Scripting
Hi there, I'm camor and I'm trying to process huge files with bash scripting and awk.
I've got a dataset folder with 10 files (16 millions of row each one - 600MB), and I've got a sorted file with all keys inside.
For example:
a sample_1 200
a.b sample_2 10
a sample_3 10
a sample_1 10
a... (4 Replies)
Discussion started by: camor
4 Replies
9. Shell Programming and Scripting
The username is of the format : 123456789110000-1234@something.com
With this below TCL procedure, I am trying add first and Sec Id and get third Id.
I checked in online compiler and it seems to work and add. However, when I am running this in my lab, I get error as "integer value too large to... (1 Reply)
Discussion started by: Shaibal_bp
1 Replies
10. Shell Programming and Scripting
The username is of the format : 123456789110000-1234@something.com
With this below TCL procedure, I am trying add first and Sec Id and get third Id.
I checked in online compiler and it seems to work and add. However, when I am running this in my lab, I get error as "integer value too large to... (3 Replies)
Discussion started by: Shaibal_bp
3 Replies
date(1) General Commands Manual date(1)
Name
date - print date and time
Syntax
date [-c | -u] [ +format ] [[yy[mm[dd]]]hhmm[.ss][-[-]tttt][z]]
Description
If no argument is given, or if the argument begins with +, the current date and time are printed. Otherwise, the current date is set. The
first mm is the month number; dd is the day number in the month; hh is the hour number (24 hour clock); the second mm is the minute number;
.ss the second; -[-]tttt is the minutes west of Greenwich; a positive number means your time zone is west of Greenwich (for example, North
and South America) and a negative number means it is east of Greenwich (for example Europe); z is a one letter code indicating the dst cor-
rection mode (n=none, u=usa, a=australian, w=western europe, m=middle europe, e=eastern europe); yy is the last 2 digits of the year number
and is optional. The following example sets the date to Oct 8, 12:45 AM:
date 10080045
The current year is the default if no year is mentioned. The system operates in GMT. The takes care of the conversion to and from local
standard and daylight time.
If the argument begins with +, the output of is under the control of the user. The format for the output is similar to that of the first
argument to All output fields are of fixed size (zero padded if necessary). Each field descriptor is preceded by % and is replaced in the
output by its corresponding value. A single % is encoded by %%. All other characters are copied to the output without change. The string
is always terminated with a new-line character.
Options
-c Perform operations using Coordinated Universal Time (UCT) instead of the default local time. The UCT does not use leap seconds so
UCT is the same as GMT.
-u Perform operations using Greenwich Mean Time (GMT) instead of the default local time.
+ format
The following is a list of field Descriptors that can be used in the format (Note: date exits after processing format information) :
%a Locale's abbreviated weekday name
%A Locale's full weekday name
%b Locale's abbreviated month name
%B Locale's full month name
%c Locale's date and time representation
%d Day of month as a decimal number (01-31)
%D Date (%m/%d/%y)
%h Locale's abbreviated month name
%H Hour as a decimal number (00-23)
%I Hour as a decimal number (01-12)
%j Day of year (001-366)
%m Number of month (01-12)
%M Minute number (00-59)
%n Newline character
%p Locale's equivalent to AM or PM
%r Time in AM/PM notation
%S Second number (00-59)
%t Tab character
%T Time (%H/%M/%S)
%U Week number (00-53), Sunday as first day of week
%w Weekday number (0[Sunday]-6)
%W Week number (00-53), Monday as first day of week
%x Locale's date representation
%X Locale's time representation
%y Year without century (00-99)
%Y Year with century
%Z Timezone name, no characters if no timezone
%% %
Examples
The following command line
date +%m/%d/%y
generates the following output
04/02/89
The following command line
date +"DATE: %m/%d/%y%nTIME: %H:%M:%S"
generates the following output
DATE: 04/02/89
TIME: 14:45:05
The quotes (") are necessary because the format contains blank characters. Use single quotes (') to prevent interpretation by the shell.
Diagnostics
Failed to set date: Not owner
You are not the super-user and you tryed to change the date. Do not change the date while the system is running in multiuser mode.
Restrictions
An attempt to set a date to before 1/1/1970 will result in the date being set to 1/1/1970.
Files
/dev/kmem
date(1)