I have a text file that contains 4 million lines, each line contains 2 fields(colon as field separator).
....
Here I have to split the second field(can be up to 40,000 fields) by comma into an array for analysis,
Code:
print $2 | cmd; close(cmd)} ' data.txt
.....
How to solve this problem? or you have other alternatives to replacing the split function?
Calling the external command will be to slow (4,000,000 x 40,000 = 160,000,000,000 calls).
Please answer Franklin52 previous question.
Hi all!
I am relatively new to UNIX staff, and I have come across a problem:
I have a big directory, which contains 100 smaller ones. Each of the 100 contains a file ending in .txt , so there are 100 files ending in .txt
I want to split each of the 100 files in smaller ones, which will contain... (4 Replies)
$mystring = "name:blk:house::";
print "$mystring\n";
@s_format = split(/:/, $mystring);
for ($i=0; $i <= $#s_format; $i++) {
print "index is $i,field is $s_format";
print "\n";
}
$size = $#s_format + 1;
print "total size of array is $size\n";
i am expecting my size to be 5, why is it... (5 Replies)
I have gone through all the threads in the forum and tested out different things. I am trying to split a 3GB file into multiple files. Some files are even larger than this.
For example:
split -l 3000000 filename.txt
This is very slow and it splits the file with 3 million records in each... (10 Replies)
Hi,
I have some output in the form of:
#output:
abc123
def567
hij890
ghi324
the above is in one column, stored in the variable x ( and if you wana know about x... x=sprintf(tolower(substr(someArray,1,1)substr(userArray,3,1)substr(userArray,2,1)))
when i simply print x (print x) I get... (7 Replies)
Hi... I have a question regarding the split function in PERL.
I have a very huge csv file (more than 80 million records). I need to extract a particular position(eg : 50th position) of each line from the csv file. I tried using split function. But I realized split takes a very long time.
Also... (1 Reply)
Hi... I have a question regarding the split function in PERL.
I have a very huge csv file (more than 80 million records). I need to extract a particular position(eg : 50th position) of each line from the csv file. I tried using split function. But I realized split takes a very long time.
Also... (0 Replies)
Hi... I have a question regarding the split function in PERL.
I have a very huge csv file (more than 80 million records). I need to extract a particular position(eg : 50th position) of each line from the csv file. I tried using split function. But I realized split takes a very long time.
Also... (1 Reply)
my @d =split('\|', $_);
west|ACH|3|Y|LuV|N||N||
Qt|UWST|57|Y|LSV|Y|Bng|N|KT|
It Returns d as 8 for First Line, and 9 as for Second Line . I want to Process Both the Files, How to Handle It. (3 Replies)
Hello;
I have a file consists of 4 columns separated by tab. The problem is the third fields. Some of the them are very long but can be split by the vertical bar "|". Also some of them do not contain the string "UniProt", but I could ignore it at this moment, and sort the file afterwards. Here is... (5 Replies)
Discussion started by: yifangt
5 Replies
LEARN ABOUT OSX
ualarm
UALARM(3) BSD Library Functions Manual UALARM(3)NAME
ualarm -- schedule signal after specified time
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
useconds_t
ualarm(useconds_t useconds, useconds_t interval);
DESCRIPTION
This is a simplified interface to setitimer(2).
The ualarm() function waits a count of useconds before asserting the terminating signal SIGALRM. System activity or time used in processing
the call may cause a slight delay.
If the interval argument is non-zero, the SIGALRM signal will be sent to the process every interval microseconds after the timer expires
(e.g., after useconds number of microseconds have passed).
Due to a setitimer(2) restriction, the maximum number of useconds and interval is limited to 100,000,000,000,000 (in case this value fits in
the unsigned integer).
RETURN VALUES
When the signal has successfully been caught, ualarm() returns the amount of time left on the clock.
NOTES
A microsecond is 0.000001 seconds.
SEE ALSO getitimer(2), setitimer(2), sigpause(2), sigvec(2), alarm(3), signal(3), sleep(3), usleep(3)HISTORY
The ualarm() function appeared in 4.3BSD.
BSD April 19, 1994 BSD