09-19-2012
If it's too large for a shell variable, too large for an array, to the point that you're trying to split it between multiple separate variables, that's a subtle hint, written in mile-high flashing neon letters, that it's a bad idea to try and load enormous amounts of text into a shell variable. You should be trying to make a loop of some sort, handle it piecemeal, instead of loading it whole.
Where did all that text come from? Are you loading it from file, or could you load it from file? What does or would the file look like?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello,
I am an intermediate scripter. I can usually find and adapt what I need by searching through previous postings, but I'm stumped.
I have a string with the format "{Name1 Release1 Type1 Parent1} {Name2 Release2 Type2 Parent2}". It is being passed as an argument into a ksh script. I need to... (5 Replies)
Discussion started by: drd_2b
5 Replies
2. Shell Programming and Scripting
Hi,
Is there any way to convert a string into an array in KSH? In other words I want to split the string like this:
STRING="one two three four"
into an array of 4 values splitting on white space. The array should be similar to the one that would be created with the following command:
... (3 Replies)
Discussion started by: piooooter
3 Replies
3. Shell Programming and Scripting
hi ,
I have a String str="/opt/ibm/lotus/ibw/latest" or ="/opt/lotus/ibw/latest" this value is dynamic..I want to split this string into 2 strings
1. /opt/ibm/lotus(/opt/lotus) this string must ends with "lotus"
2./ibw/latest
can any body help me on this?
Regards,
sankar (2 Replies)
Discussion started by: sankar reddy
2 Replies
4. Shell Programming and Scripting
My input contains a single word lines.
From each line
data.txt
prjtestBlaBlatestBlaBla
prjthisBlaBlathisBlaBla
prjthatBlaBladpthatBlaBla
prjgoodBlaBladpgoodBlaBla
prjgood1BlaBla123dpgood1BlaBla123
Desired output -->
data_out.txt
prjtestBlaBla
prjthisBlaBla... (8 Replies)
Discussion started by: kchinnam
8 Replies
5. Shell Programming and Scripting
Hi,
can some one please help me to split the file based on groups.
like in the below scenario x indicates the begining of the group and the file should be split each with 2 groups below there are 10 groups it should create 5 files. could you please help? (4 Replies)
Discussion started by: hitmansilentass
4 Replies
6. Shell Programming and Scripting
Help needed urgently please.
I have a large file - a few hundred thousand lines.
Sample
CP START ACCOUNT
1234556
name 1
CP END ACCOUNT
CP START ACCOUNT
2224444
name 1
CP END ACCOUNT
CP START ACCOUNT
333344444
name 1
CP END ACCOUNT
I need to split this file each time "CP START... (7 Replies)
Discussion started by: frustrated1
7 Replies
7. Shell Programming and Scripting
Hello
What command can i use to split a tab delimited txt file into two files base on the occurrence of a string
my file name is EDIT.txt
The content of file is below
XX 1234 PROCEDURES
XY 1634 PROCEDURES
XM 1245 CODES
XZ 1256 CODES
It has more than a million record
If there is... (16 Replies)
Discussion started by: madrazzii
16 Replies
8. Shell Programming and Scripting
hi ,
The scenario is like this,
i have a large text files (max 5MB , about 5000 file per day ),
Inside almost each line of this file there is a tag 3100.2.22.1 (represent Call_Type) , i need to generate many filess , each one with distinct (3100.2.22.1 Call_Type ) , and one more file to... (3 Replies)
Discussion started by: OTNA
3 Replies
9. Shell Programming and Scripting
Greetings Experts,
I am generating a validation query through awk and facing an issue, which I need to overcome by splitting the data based on the pattern matching count in the value of an array.
File1 --
Table11@column1@date@Table21@column1@varchar(10)@d;... (4 Replies)
Discussion started by: chill3chee
4 Replies
10. Shell Programming and Scripting
I have a huge file (around 4-5 GB containing 20 million rows) which has text like:
<EOFD>11<EOFD>22<EORD>2<EOFD>2222<EOFD>3333<EORD>3<EOFD>44<EOFD>55<EORD>66<EOFD>888<EOFD>9999<EORD>
Actually above is an extracted file from a Sql Server with each field delimited by <EOFD> and each row ends... (8 Replies)
Discussion started by: amvip
8 Replies
LEARN ABOUT PHP
preg_split
PREG_SPLIT(3) 1 PREG_SPLIT(3)
preg_split - Split string by a regular expression
SYNOPSIS
array preg_split (string $pattern, string $subject, [int $limit = -1], [int $flags])
DESCRIPTION
Split the given string by a regular expression.
PARAMETERS
o $pattern
- The pattern to search for, as a string.
o $subject
- The input string.
o $limit
- If specified, then only substrings up to $limit are returned with the rest of the string being placed in the last substring. A
$limit of -1, 0 or NULL means "no limit" and, as is standard across PHP, you can use NULL to skip to the $flags parameter.
o $flags
-$flags can be any combination of the following flags (combined with the | bitwise operator):
o PREG_SPLIT_NO_EMPTY - If this flag is set, only non-empty pieces will be returned by preg_split(3).
o PREG_SPLIT_DELIM_CAPTURE - If this flag is set, parenthesized expression in the delimiter pattern will be captured and
returned as well.
o PREG_SPLIT_OFFSET_CAPTURE - If this flag is set, for every occurring match the appendant string offset will also be
returned. Note that this changes the return value in an array where every element is an array consisting of the matched
string at offset 0 and its string offset into $subject at offset 1.
RETURN VALUES
Returns an array containing substrings of $subject split along boundaries matched by $pattern.
EXAMPLES
Example #1
preg_split(3) example : Get the parts of a search string
<?php
// split the phrase by any number of commas or space characters,
// which include " ",
, ,
and f
$keywords = preg_split("/[s,]+/", "hypertext language, programming");
print_r($keywords);
?>
The above example will output:
Array
(
[0] => hypertext
[1] => language
[2] => programming
)
Example #2
Splitting a string into component characters
<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
The above example will output:
Array
(
[0] => s
[1] => t
[2] => r
[3] => i
[4] => n
[5] => g
)
Example #3
Splitting a string into matches and their offsets
<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>
The above example will output:
Array
(
[0] => Array
(
[0] => hypertext
[1] => 0
)
[1] => Array
(
[0] => language
[1] => 10
)
[2] => Array
(
[0] => programming
[1] => 19
)
)
NOTES
Tip
If you don't need the power of regular expressions, you can choose faster (albeit simpler) alternatives like explode(3) or
str_split(3).
Tip
If matching fails, an array with a single element containing the input string will be returned.
SEE ALSO
PCRE Patterns, preg_quote(3), implode(3), preg_match(3), preg_match_all(3), preg_replace(3), preg_last_error(3).
PHP Documentation Group PREG_SPLIT(3)