10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
In the awk below I am trying to remove all instances after a ; (semi-colon) or , (comma) in the ANN= pattern. I am using gsub
to substitute an empty string in these, so that ANN= is a single value (with only one value in it the one right after the ANN=). Thank you :).
I have comented my awk and... (11 Replies)
Discussion started by: cmccabe
11 Replies
2. Shell Programming and Scripting
how can i sort the table based on first row? thanks in advance
input
name d b c a
l l1 l2 l3 l4
l1 1 2 3 4
l2 2 2 2 1
l3 1 1 2 2ouput
name a b c d
l1 l4 ... (4 Replies)
Discussion started by: quincyjones
4 Replies
3. Shell Programming and Scripting
I am trying to awk the output from below output for each port: i need separate line with comma
source file
Output required (3 Replies)
Discussion started by: ranjancom2000
3 Replies
4. Shell Programming and Scripting
Hello,
How to sort each row in a document with numerical values and with more than one row. Example
Input data (file1.txt):
4 6 8 1 7
2 12 9 6 10
6 1 14 5 7
and I want the the output to look like this(file2.txt):
1 4 6 7 8
2 6 9 10 12
1 5 6 7 14
I've tried
sort -n file1.txt >... (12 Replies)
Discussion started by: joseamck
12 Replies
5. Shell Programming and Scripting
Hi,
I have n number of values like
1
2
3
4
I want the output like
1 2 3
4 5 6
- - -
- - -
Please help me on this:wall: (4 Replies)
Discussion started by: cns1710
4 Replies
6. Shell Programming and Scripting
Hi, I need somebody's help with sorting data with awk.
I've got a file:
10 aaa 4584
12 bbb 6138
20 ccc 4417
21 ddd 7796
10 eee 7484
12 fff ... (5 Replies)
Discussion started by: killerbee
5 Replies
7. Shell Programming and Scripting
Hello All:
I've file in below format. File name is "FIRSTN.TBL":
AAAAAA N
BBBBBBBBBBBBBBBBBBBBBBB N
.
.
.
.
ZZZZZZZZZZZZZZZZZZZZZZZZZZ N
My file row length is 40 characters and my second column will start from 25th column and it is only... (3 Replies)
Discussion started by: nvkuriseti
3 Replies
8. Shell Programming and Scripting
Hi
I need to do some thing like "find and insert before that " in a file which contains many records. This will be clear with the following example.
The original data record should be some thing like this
60119827 RTMS_LOCATION_CDR INSTANT_POSITION_QUERY 1236574686123083rtmssrv7 ... (8 Replies)
Discussion started by: aemunathan
8 Replies
9. Shell Programming and Scripting
I have a pipe delimited file. Key is field 2, date is field 5 (as example, my real file is more complicated of course, but the KEY and DATE are accurate)
There can be duplicate rows for a key with different dates.
I need to keep only rows with latest date in this case.
Example data: ... (4 Replies)
Discussion started by: LisaS
4 Replies
10. Programming
Hello,
If i have 2 strings str1 and str2, i would like to copy/concatenate str2 to str1, from 1st bit leaving the 0th bit.
How do i do it? (2 Replies)
Discussion started by: jazz
2 Replies
ARRAY_MULTISORT(3) 1 ARRAY_MULTISORT(3)
array_multisort - Sort multiple or multi-dimensional arrays
SYNOPSIS
bool array_multisort (array &$array1, [mixed $array1_sort_order = SORT_ASC], [mixed $array1_sort_flags = SORT_REGULAR], [mixed $...])
DESCRIPTION
array_multisort(3) can be used to sort several arrays at once, or a multi-dimensional array by one or more dimensions.
Associative ( string) keys will be maintained, but numeric keys will be re-indexed.
PARAMETERS
o $array1
- An array being sorted.
o $array1_sort_order
- The order used to sort the previous array argument. Either SORT_ASC to sort ascendingly or SORT_DESC to sort descendingly. This
argument can be swapped with $array1_sort_flags or omitted entirely, in which case SORT_ASC is assumed.
o $array1_sort_flags
- Sort options for the previous array argument: Sorting type flags:
o SORT_REGULAR - compare items normally (don't change types)
o SORT_NUMERIC - compare items numerically
o SORT_STRING - compare items as strings
o SORT_LOCALE_STRING - compare items as strings, based on the current locale. It uses the locale, which can be changed using
setlocale(3)
o SORT_NATURAL - compare items as strings using "natural ordering" like natsort(3)
o SORT_FLAG_CASE - can be combined (bitwise OR) with SORT_STRING or SORT_NATURAL to sort strings case-insensitively
This argument can be swapped with $array1_sort_order or omitted entirely, in which case SORT_REGULAR is assumed.
o $...
- More arrays, optionally followed by sort order and flags. Only elements corresponding to equivalent elements in previous arrays
are compared. In other words, the sort is lexicographical.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.4.0 | |
| | |
| | The SORT_NATURAL and SORT_FLAG_CASE were added |
| | to $array1_sort_flags as possible sort flags. |
| | |
| 5.3.0 | |
| | |
| | The SORT_LOCALE_STRING was added to |
| | $array1_sort_flags as possible sort flags. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
Sorting multiple arrays
<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);
var_dump($ar1);
var_dump($ar2);
?>
In this example, after sorting, the first array will contain 0, 10, 100, 100. The second array will contain 4, 1, 2, 3. The entries
in the second array corresponding to the identical entries in the first array (100 and 100) were sorted as well.
array(4) {
[0]=> int(0)
[1]=> int(10)
[2]=> int(100)
[3]=> int(100)
}
array(4) {
[0]=> int(4)
[1]=> int(1)
[2]=> int(2)
[3]=> int(3)
}
Example #2
Sorting multi-dimensional array
<?php
$ar = array(
array("10", 11, 100, 100, "a"),
array( 1, 2, "2", 3, 1)
);
array_multisort($ar[0], SORT_ASC, SORT_STRING,
$ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>
In this example, after sorting, the first array will transform to "10", 100, 100, 11, "a" (it was sorted as strings in ascending
order). The second will contain 1, 3, "2", 2, 1 (sorted as numbers, in descending order).
array(2) {
[0]=> array(5) {
[0]=> string(2) "10"
[1]=> int(100)
[2]=> int(100)
[3]=> int(11)
[4]=> string(1) "a"
}
[1]=> array(5) {
[0]=> int(1)
[1]=> int(3)
[2]=> string(1) "2"
[3]=> int(2)
[4]=> int(1)
}
}
Example #3
Sorting database results
For this example, each element in the $data array represents one row in a table. This type of dataset is typical of database
records.
Example data:
volume | edition
-------+--------
67 | 2
86 | 1
85 | 6
98 | 2
86 | 6
67 | 7
The data as an array, called $data. This would usually, for example, be obtained by looping with mysql_fetch_assoc(3).
<?php
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
?>
In this example, we will order by $volume descending, $edition ascending.
We have an array of rows, but array_multisort(3) requires an array of columns, so we use the below code to obtain the columns, then
perform the sorting.
<?php
// Obtain a list of columns
foreach ($data as $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}
// Sort the data with volume descending, edition ascending
// Add $data as the last parameter, to sort by the common key
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>
The dataset is now sorted, and will look like this:
volume | edition
-------+--------
98 | 2
86 | 1
86 | 6
85 | 6
67 | 2
67 | 7
Example #4
Case insensitive sorting
Both SORT_STRING and SORT_REGULAR are case sensitive, strings starting with a capital letter will come before strings starting with
a lowercase letter.
To perform a case insensitive search, force the sorting order to be determined by a lowercase copy of the original array.
<?php
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);
print_r($array);
?>
The above example will output:
Array
(
[0] => Alpha
[1] => atomic
[2] => bank
[3] => Beta
)
SEE ALSO
usort(3), The comparison of array sorting functions.
PHP Documentation Group ARRAY_MULTISORT(3)