08-12-2012
Nice work guys
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I tried to put the history line number and the date into the file with one command, and failed. Can't figure out how to get the date variable substituted for the last space captured.
history | tail -1 | sed -e 's/.\{7\}/&/g' | head -1 | sed 's/ $/$date/'
Result was:
729 $date
So, I... (8 Replies)
Discussion started by: jimbob75
8 Replies
2. Shell Programming and Scripting
Dear all,
I would like to combine all lines of a file with all lines of another file:
The input are
file 1
A
B
C
D
file 2
A
B
C
D
The output is
final file
A_A
A_B
A_C (3 Replies)
Discussion started by: valente
3 Replies
3. Shell Programming and Scripting
Hi,
I have an issue to combine multiple lines of a file. I have records as below.
Fields are delimited by TAB. Each lines are ending with a new line char (\n)
Input
--------
ABC 123456 abcde 987
890456 7890 xyz
ght gtuv
ABC 5tyin 1234 789
ghty kuio
ABC ghty jind 1234
678 ght
... (8 Replies)
Discussion started by: ratheesh2011
8 Replies
4. Shell Programming and Scripting
I can't decide if I should use AWK or PERL after pouring over these forums for hours today I decided I'd post something and see if I couldn't get some advice.
I've got a text file full of hundreds of events in this format:
Record Number : 1
Records in Seq : ... (3 Replies)
Discussion started by: Mayday22
3 Replies
5. UNIX for Dummies Questions & Answers
Hi All,
I am trying to understand if its possible to carry out the following.
I have a text file which contains output from multiple commands, within the file a node will be quiered twice if there was 2 commands for example. Is it possible do combine 2 lines into 1 if the first word is the... (1 Reply)
Discussion started by: mutley2202
1 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I have a requirement where I need to combine two lines in a file based on first character of each line in a file.
Please find the sample content of the file below:
Code:
_______________________
5, jaya, male, 4-5-90, single
smart
6, prakash, male, 5-4-84, married
fair
7, raghavi,... (1 Reply)
Discussion started by: jayaP
1 Replies
7. UNIX for Advanced & Expert Users
Hi,
I have a requirement where I need to combine two lines in a file based on first character of each line in a file.
Please find the sample content of the file below:
Code:
_______________________
5, jaya, male, 4-5-90, single
smart
6, prakash, male, 5-4-84, married
fair
7, raghavi,... (1 Reply)
Discussion started by: jayaP
1 Replies
8. Shell Programming and Scripting
Hi,
I have a requirement where I need to combine two lines in a file based on first character of each line in a file.
Please find the sample content of the file below:
_______________________
5, jaya, male, 4-5-90, single
smart
6, prakash, male, 5-4-84, married
fair
7, raghavi, female,... (12 Replies)
Discussion started by: jayaP
12 Replies
9. Shell Programming and Scripting
I am trying to combine all matching lines in the tab-delimited using awk. The below runs but no output results. Thank you :).
input
chrX 110925349 110925532 ALG13
chrX 110925349 110925532 ALG13
chrX 110925349 110925532 ALG13
chrX 47433390 47433999 SYN1... (3 Replies)
Discussion started by: cmccabe
3 Replies
10. Shell Programming and Scripting
Greetings,
I have large file with following format
name1 name2
name3 name4
name5 name6
child7 child8 child9 <== there is leading blank space
child10 child11 child12 <== there is leading blank space
name13 name14
name15 name16
child17 child18... (6 Replies)
Discussion started by: rnnyusa
6 Replies
USORT(3) 1 USORT(3)
usort - Sort an array by values using a user-defined comparison function
SYNOPSIS
bool usort (array &$array, callable $value_compare_func)
DESCRIPTION
This function will sort an array by its values using a user-supplied comparison function. If the array you wish to sort needs to be sorted
by some non-trivial criteria, you should use this function.
Note
If two members compare as equal, their relative order in the sorted array is undefined.
Note
This function assigns new keys to the elements in $array. It will remove any existing keys that may have been assigned, rather than
just reordering the keys.
PARAMETERS
o $array
- The input array.
o $value_compare_func
- The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to
be respectively less than, equal to, or greater than the second.
int callback (mixed $a, mixed $b)
Caution
Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the
callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such
values as equal.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
Example #1
usort(3) example
<?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key: $value
";
}
?>
The above example will output:
0: 1
1: 2
2: 3
3: 5
4: 6
Note
Obviously in this trivial case the sort(3) function would be more appropriate.
Example #2
usort(3) example using multi-dimensional array
<?php
function cmp($a, $b)
{
return strcmp($a["fruit"], $b["fruit"]);
}
$fruits[0]["fruit"] = "lemons";
$fruits[1]["fruit"] = "apples";
$fruits[2]["fruit"] = "grapes";
usort($fruits, "cmp");
while (list($key, $value) = each($fruits)) {
echo "$fruits[$key]: " . $value["fruit"] . "
";
}
?>
When sorting a multi-dimensional array, $a and $b contain references to the first index of the array.
The above example will output:
$fruits[0]: apples
$fruits[1]: grapes
$fruits[2]: lemons
Example #3
usort(3) example using a member function of an object
<?php
class TestObj {
var $name;
function TestObj($name)
{
$this->name = $name;
}
/* This is the static comparing function: */
static function cmp_obj($a, $b)
{
$al = strtolower($a->name);
$bl = strtolower($b->name);
if ($al == $bl) {
return 0;
}
return ($al > $bl) ? +1 : -1;
}
}
$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");
usort($a, array("TestObj", "cmp_obj"));
foreach ($a as $item) {
echo $item->name . "
";
}
?>
The above example will output:
b
c
d
Example #4
usort(3) example using a closure to sort a multi-dimensional array
<?php
$array[0] = array('key_a' => 'z', 'key_b' => 'c');
$array[1] = array('key_a' => 'x', 'key_b' => 'b');
$array[2] = array('key_a' => 'y', 'key_b' => 'a');
function build_sorter($key) {
return function ($a, $b) use ($key) {
return strnatcmp($a[$key], $b[$key]);
};
}
usort($array, build_sorter('key_b'));
foreach ($array as $item) {
echo $item['key_a'] . ', ' . $item['key_b'] . "
";
}
?>
The above example will output:
y, a
x, b
z, c
SEE ALSO
uasort(3), The comparison of array sorting functions.
PHP Documentation Group USORT(3)