Awk to print distinct col values


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Awk to print distinct col values
# 15  
Old 08-18-2008
test data

RMZVIEW tester.txt

/* Header*/
00000000 ...........ICX080131080229.

Hexa : 000000000004453333333333330
000000000009380801310802290

00000301 80169294950 295334PBA
Hexa : 333333333332223333335442222
801692949500002953340210000

00000602 73329204490 000000000
Hexa : 333333333332223333333332222
733292044900000000000000000

/* Trailer*/
00003311 ............0000000004953+000000443502058

11111111111133333333333332333333333333333
AAAAAAAAAAAA0000000004953B000000443502058

I just want to replace the hexa 00(Null) in Header and 1A(Substitute or Ctrl-Z) in Trailer with a SPACE(20) and make sure that we preserve the fixed length.

Thanks !!!
# 16  
Old 08-18-2008
Quote:
Originally Posted by anduzzi
RMZVIEW tester.txt

/* Header*/
00000000 ...........ICX080131080229.

Hexa : 000000000004453333333333330
000000000009380801310802290

00000301 80169294950 295334PBA
Hexa : 333333333332223333335442222
801692949500002953340210000

00000602 73329204490 000000000
Hexa : 333333333332223333333332222
733292044900000000000000000

/* Trailer*/
00003311 ............0000000004953+000000443502058

11111111111133333333333332333333333333333
AAAAAAAAAAAA0000000004953B000000443502058

I just want to replace the hexa 00(Null) in Header and 1A(Substitute or Ctrl-Z) in Trailer with a SPACE(20) and make sure that we preserve the fixed length.

Thanks !!!
Another question as I'm still at a loss of what data you want replaced? Highlight the data in the input that needs to be replaced while preserving the field length and formatting...as I see no 1A in the trailer.
# 17  
Old 08-18-2008
Ohok....sorry about that.

/* Header*/
...........ICX080131080229.

Hexa : 000000000004453333333333330
000000000009380801310802290

00000301 80169294950 295334PBA
Hexa : 333333333332223333335442222
801692949500002953340210000

00000602 73329204490 000000000
Hexa : 333333333332223333333332222
733292044900000000000000000

/* Trailer*/
............0000000004953+000000443502058

11111111111133333333333332333333333333333
AAAAAAAAAAAA0000000004953B00000044350205

Please read the hexa codes(Top->bottom as my tool prints this way) as 1A highlighted in Red: 1A -> Substitute ASCI Char.
and similarly 00 in header : 00-> Null

hope its clear.

Thanks !!!
# 18  
Old 08-18-2008
So you want the following replacements.

00000000 ...........ICX080131080229
WITH
...........ICX080131080229

and

00003311 ............0000000004953+000000443502058
WITH
............0000000004953+000000443502058
# 19  
Old 08-18-2008
Not eactly.
I want something like:

...........ICX080131080229

WITH
ICX080131080229

............0000000004953+000000443502058

WITH

0000000004953+000000443502058

As u can observe, the Dots(which are actually NULL(Hex:00) and Hex:1A respectievly b4) should be replaced with SPACES(Hex:20)


Thanks !!!
# 20  
Old 08-18-2008
To replace 1A in trailer with space...
Code:
awk '{gsub("\032"," ");print $0}' file

To replace NULL in header with space...
Code:
awk '{gsub("\000"," ");print $0}' file

You can combine the two awk's into one...
Code:
awk '{gsub("\000"," ");gsub("\032"," ");print $0}' file

To see the non-printing characters embedded in your data pass it through cat -vet and post its output here.
Code:
cat -vet file

# 21  
Old 08-18-2008
I ran your awk's and got the output printed in the attachement.
I doubt the script replaces something else too Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Emergency UNIX and Linux Support

Read values in each col starting 3rd row.Print occurrence value.

Hello Friends, Hope all are doing fine. Here is a tricky issue. my input file is like this 07 10 14 20 21 03 15 27 30 32 01 10 11 19 30 02 06 14 15 17 01 06 20 25 29 Logic: 1. Please print another column as "0-0-0-0-0" for the first and second rows. 2. Read the first column... (4 Replies)
Discussion started by: jacobs.smith
4 Replies

2. Shell Programming and Scripting

Modifying col values based on another col

Hi, Please help with this. I have several excel files (with and .xlsx format) with 10-15 columns each. They all have the same type of data but the columns are not ordered in the same way. Here is a 3 column example. What I want to do add the alphabet from column 2 to column 3, provided... (9 Replies)
Discussion started by: newbie83
9 Replies

3. Shell Programming and Scripting

Find distinct values

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

4. UNIX for Dummies Questions & Answers

count number of distinct values in each column with awk

Hi ! input: A|B|C|D A|F|C|E A|B|I|C A|T|I|B As the title of the thread says, I would need to get: 1|3|2|4 I tried different variants of this command, but I don't manage to obtain what I need: gawk 'BEGIN{FS=OFS="|"}{for(i=1; i<=NF; i++) a++} END {for (b in a) print b}' input ... (2 Replies)
Discussion started by: beca123456
2 Replies

5. UNIX for Advanced & Expert Users

Print line based on highest value of col (B) and repetion of values in col (A)

Hello everyone, I am writing a script to process data from the ATP world tour. I have a file which contains: t=540 y=2011 r=1 p=N409 t=540 y=2011 r=2 p=N409 t=540 y=2011 r=3 p=N409 t=540 y=2011 r=4 p=N409 t=520 y=2011 r=1 p=N409 t=520 y=2011 r=2 p=N409 t=520 y=2011 r=3 p=N409 The... (4 Replies)
Discussion started by: imahmoud
4 Replies

6. Shell Programming and Scripting

average of distinct values with awk

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

7. Shell Programming and Scripting

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... (2 Replies)
Discussion started by: vukkusila
2 Replies

8. UNIX for Dummies Questions & Answers

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... (1 Reply)
Discussion started by: vukkusila
1 Replies

9. Shell Programming and Scripting

grep distinct values

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

10. Shell Programming and Scripting

Getting Distinct values from second field in a file....

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
Login or Register to Ask a Question