Sort file data according to a custom list of string
I have a string of pre defined ip address list which will always remain constant their order will never change like in below sample:
In the above example i m considering only 5 ips but there could be many more.
Now i have a file which will have a subset of these IPs along with a few file details and few blank empty new lines in any random order in each run like in the sample data below.
cat hello.txt
I wish to format sort the above output in same order as the iplist variable. My expected output is as below:
My idea is to have two have to arrays one that stores the iplist in the same order as iplist variable and the second that stores its respective file details (blank incase that ip is not present in my output). That way i will be able to use a single counter and display the desired output in the desired order.
Considering my approach is fine I was able to add the iplist string to an array using the below:
I'm able to loop this array and store empty entries incase the ip is not found the hello.txt
The challenge for me is how can I extract the file details under a particular ip and store in a parellel array.
Any good way to have such a custom grouping and sorting? Kindly suggest.
Last edited by mohtashims; 01-13-2020 at 01:33 AM..
So, I will be working with someone and basically we are trying to build a form that is submitted most likely via the web and the data is just a string of numbers.
like:
19383882872201110929282821818182827349190102837364718191001932873711
Now, each number is part of a numerical value of... (4 Replies)
Hello,
I have a big data file (160 MB) full of records with pipe(|) delimited those fields. I`m sorting the file on the first field.
I'm trying to sort with "sort" command and it brings me 6 minutes.
I have tried with some transformation methods in perl but it results "Out of memory". I was... (2 Replies)
Hi,
So I'm kinda new to shell scripts and the like. I've picked up quite a bit of use from browsing the forums here but ran into a new one that I can't seem to find an answer for.
I'm looking to parse/find a string AND the next 15 or so charachters that follow the string within a text file... (1 Reply)
It is for HP-Unix B.11.31.
Requirement:
1. List the directories, which directories name has given particular string.
Example: Directories with name "Build"
2. On the output of 1. list the directories by creation date as sort order.
I tried with; find . -type d -name "Build*"
... (3 Replies)
Hi,
I am confused how to proceed firther please find the problem below:
Input Files:
DCIA_GEOG_DATA_OCEAN.TXT
DCIA_GEOG_DATA_MCRO.TXT
DCIA_GEOG_DATA_CVAS.TXT
DCIA_GEOG_DATA_MCR.TXT
Output File Name: MMA_RFC_GEOG_NAM_DIM_LOD.txt
Sample Record(DCIA_GEOG_DATA_OCEAN.TXT):(Layout same for... (4 Replies)
Hi Experts,
I have a filelist collected from another server , now want to sort the output using date/time stamp filed.
- Filed 6, 7,8 are showing the date/time/stamp.
Here is the input:
#----------------------------------------------------------------------
-rw------- 1 root ... (3 Replies)
Hello all,
How do I achieve this? I have A, B and A/B in different variables in a file in col2.
I want them to sort in such a way, that the variables appear together, and within a variable, the data is sorted in the order A,B and then A/B. If I sort on the second column, the order becomes A,... (6 Replies)
Hello,
I'm trying to sort a large data file by the 3rd column so that all of the first words in the 3rd column that are in all uppercase appear before (or after) the non uppercase words. For example,
Data file:
xxx 12345 Rat in the house
xxx 12345 CAT in the hat
xxx 12345 Dog in the... (4 Replies)
Hi,
I am using SUN SOLARIS (SunOS sun4v sparc SUNW, T5240).
I have a huge data file with header and trailer. This file gets used into an ETL process. ETL skips the header record (which is the first record of the file) and loads the rest of the record. The file can be delimited (comma,... (5 Replies)
SCANDIR(3) 1 SCANDIR(3)scandir - List files and directories inside the specified pathSYNOPSIS
array scandir (string $directory, [int $sorting_order = SCANDIR_SORT_ASCENDING], [resource $context])
DESCRIPTION
Returns an array of files and directories from the $directory.
PARAMETERS
o $directory
- The directory that will be scanned.
o $sorting_order
- By default, the sorted order is alphabetical in ascending order. If the optional $sorting_order is set to SCANDIR_SORT_DESCEND-
ING, then the sort order is alphabetical in descending order. If it is set to SCANDIR_SORT_NONE then the result is unsorted.
o $context
- For a description of the $context parameter, refer to the streams section of the manual.
RETURN VALUES
Returns an array of filenames on success, or FALSE on failure. If $directory is not a directory, then boolean FALSE is returned, and an
error of level E_WARNING is generated.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.4.0 | |
| | |
| | $sorting_orderconstants were added. Any nonzero |
| | value caused descending order in previous ver- |
| | sions. So for all PHP versions, use 0 for ascend- |
| | ing order, and 1 for descending order. An option |
| | for SCANDIR_SORT_NONE behavior did not exist |
| | prior to PHP 5.4.0. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
A simple scandir(3) example
<?php
$dir = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);
print_r($files1);
print_r($files2);
?>
The above example will output something similar to:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
Array
(
[0] => somedir
[1] => foo.txt
[2] => bar.php
[3] => ..
[4] => .
)
Example #2
PHP 4 alternatives to scandir(3)
<?php
$dir = "/tmp";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
}
sort($files);
print_r($files);
rsort($files);
print_r($files);
?>
The above example will output something similar to:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
Array
(
[0] => somedir
[1] => foo.txt
[2] => bar.php
[3] => ..
[4] => .
)
NOTES
Tip
A URL can be used as a filename with this function if the fopen wrappers have been enabled. See fopen(3) for more details on how to
specify the filename. See the "Supported Protocols and Wrappers" for links to information about what abilities the various wrappers
have, notes on their usage, and information on any predefined variables they may provide.
SEE ALSO opendir(3), readdir(3), glob(3), is_dir(3), sort(3).
PHP Documentation Group SCANDIR(3)