10-12-2010
distinct values of all the fields
I am a beginner to scripting, please help me in this regard.
How do I create a script that provides a count of distinct values of all the fields in the pipe delimited file ? I have 20 different files with multiple columns in each file. I needed to write a generic script where I give the number of columns as a parameter to the script or the script by itself should be able to recognize the number of columns in the file based on the delimiter. The script needs to generate the output as below.
Sample data
Field1|Field2|Field3|Field4
AAA|BBB|CCC|DDD
111|222|333|777
AAA|EEE|ZZZ|EEE
111|555|333|444
AAA|EEE|CCC|DDD
111|222|555|444
For the above file, the result I am looking for would be:
Field1
AAA(3)
111(3)
Field2
BBB(1)
222(2)
EEE(2)
555(1)
Field3
ccc(2)
333(2)
zzz(1)
555(1)
Field4
DDD(2)
777(1)
EEE(1)
444(2)
Thank you in advance for your assistance.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Datafile has the following data seperated by :
FIELD1:FIELD2:FIELD3
D1:/opt/9.1.9:Y
D2:/opt/10.1.10:Y
D3:/opt/9.1.9:Y
D4:/opt/8.1.8:Y
D5:/opt/8.1.8:Y
D6:/opt/9.1.9:Y
D7:/opt/9.1.9:Y
D8:/opt/10.1.10:Y
D9:/opt/9.1.9:Y
D10:/opt/10.1.10:Y
I want to do some operations only on the distinct... (2 Replies)
Discussion started by: pbekal
2 Replies
2. Shell Programming and Scripting
Hi Guys...
I am newbie to awk and would like a solution to probably one of the simple practical questions.
I have a test file that goes as:
1,2,3,4,5,6
7,2,3,8,7,6
9,3,5,6,7,3
8,3,1,1,1,1
4,4,2,2,2,2
I would like to know how AWK can get me the distinct values say for eg: on col2... (22 Replies)
Discussion started by: anduzzi
22 Replies
3. Shell Programming and Scripting
Hi
I have a pipe delimited file. I am trying to grab the DISTINCT value from the second field. The file is something like:
1233|apple|ron
1234|apple|elephant
1235|egg|man
the output I am trying to get from second field is apple,egg (apple coming only once)
Thanks
simi (4 Replies)
Discussion started by: simi28
4 Replies
4. UNIX for Dummies Questions & Answers
How do I create a script that provides a count of distinct values of a particular field in a file utilizing commonly available UNIX commands (sh or awk)?
Field1|Field2|Field3|Field4
AAA|BBB|CCC|DDD
111|222|333|777
AAA|EEE|ZZZ|EEE
111|555|333|444
AAA|EEE|CCC|DDD
111|222|555|444
For... (2 Replies)
Discussion started by: Refresher
2 Replies
5. Shell Programming and Scripting
this is a little more complex than that. I have a text file and I need to find all the distinct words that appear in a line after the word TABLESPACE
when I grep for just the word tablespace, I get:
how do i parse this a little better so i have a smaller file to read?
This is just an... (4 Replies)
Discussion started by: guessingo
4 Replies
6. Shell Programming and Scripting
I have . dat file which contains data in a specific format:
0 3 892 921 342
1 3 921 342 543
2 4 817 562 718 765
3 3 819 562 717 761
i need to compare each field in a row with another field of the same column but different row and cont the... (8 Replies)
Discussion started by: Abhik
8 Replies
7. Shell Programming and Scripting
I am a beginner to scripting, please help me in this regard.
How do I create a script that provides a count of distinct values of all the fields in the pipe delimited file ? I have 20 different files with multiple columns in each file. I needed to write a generic script where I give the number... (2 Replies)
Discussion started by: vukkusila
2 Replies
8. Shell Programming and Scripting
Hi guys, I am not an expert in shell and I need help with awk command. I have a file with values like
200 1 1
200 7 2
200 6 3
200 5 4
300 3 1
300 7 2
300 6 3
300 4 4
I need resulting file with averages of... (3 Replies)
Discussion started by: saif
3 Replies
9. Shell Programming and Scripting
Hi,
I have two files of the following format
file1
chr1:345-456
chr2:123-456
chr2:455-678
chr3:456-789
chr3:444-555
file2
chr1:345-456
chr2:123-456
chr3:456-789
output (2 Replies)
Discussion started by: jacobs.smith
2 Replies
10. Shell Programming and Scripting
Hello,
I am using below command
srvctl config service -d cmdbut
cmdbut_01 (P):/devoragridcn_01/app/oracle> srvctl config service -d cmdbut
Service name: boms10.world
Service is enabled
Server pool: cmdbut_boms10.world
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management... (7 Replies)
Discussion started by: Vishal_dba
7 Replies
LEARN ABOUT PHP
substr_replace
SUBSTR_REPLACE(3) 1 SUBSTR_REPLACE(3)
substr_replace - Replace text within a portion of a string
SYNOPSIS
mixed substr_replace (mixed $string, mixed $replacement, mixed $start, [mixed $length])
DESCRIPTION
substr_replace(3) replaces a copy of $string delimited by the $start and (optionally) $length parameters with the string given in $replace-
ment.
PARAMETERS
o $string
- The input string. An array of strings can be provided, in which case the replacements will occur on each string in turn. In
this case, the $replacement, $start and $length parameters may be provided either as scalar values to be applied to each input
string in turn, or as arrays, in which case the corresponding array element will be used for each input string.
o $replacement
- The replacement string.
o $start
- If $start is positive, the replacing will begin at the $start'th offset into $string. If $start is negative, the replacing will
begin at the $start'th character from the end of $string.
o $length
- If given and is positive, it represents the length of the portion of $string which is to be replaced. If it is negative, it rep-
resents the number of characters from the end of $string at which to stop replacing. If it is not given, then it will default to
strlen( $string ); i.e. end the replacing at the end of $string. Of course, if $length is zero then this function will have the
effect of inserting $replacement into $string at the given $start offset.
RETURN VALUES
The result string is returned. If $string is an array then array is returned.
EXAMPLES
Example #1
Simple substr_replace(3) examples
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />
";
/* These two examples replace all of $var with 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />
";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />
";
/* Insert 'bob' right at the beginning of $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />
";
/* These next two replace 'MNRPQR' in $var with 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />
";
echo substr_replace($var, 'bob', -7, -1) . "<br />
";
/* Delete 'MNRPQR' from $var. */
echo substr_replace($var, '', 10, -1) . "<br />
";
?>
Example #2
Using substr_replace(3) to replace multiple strings at once
<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');
// A simple case: replace XXX in each string with YYY.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."
";
// A more complicated case where each replacement is different.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."
";
// Replace a different number of characters each time.
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."
";
?>
The above example will output:
A: YYY; B: YYY; C: YYY
A: AAA; B: BBB; C: CCC
A: AAAXX; B: BBBX; C: CCC
NOTES
Note
This function is binary-safe.
SEE ALSO
str_replace(3), substr(3), String access and modification by character.
PHP Documentation Group SUBSTR_REPLACE(3)