Replacing "." with "GG" in a certain column of a file that has heading


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Replacing "." with "GG" in a certain column of a file that has heading
# 1  
Old 12-12-2014
Replacing "." with "GG" in a certain column of a file that has heading

Hi, all, I have a file that looks like:
Code:
## XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                              
## YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY                                            
#AA    AB    AC    AD    AE    AF    AG    AH    AI    AJ    AK    AL
20    60039    60039    T    C    1000    PASS    .    .    0|0    0|0    0|0
20    60097    60097    G    A    999    PASS    .    .    0|0    0|0    0|0

The file has two lines starting with ## - heading lines (## XXX and ## YYY). Third line from above starting with # - indicate names of the columns (AA, AB etc). And the rest of the lines - are values.

I need to replace "." to "GG" in the 9th column AI.
Heading should stay unchanged. File is lets say, tab-delimited.

Thank u for ur suggestion!
best, kush

Last edited by Scrutinizer; 12-13-2014 at 09:13 AM.. Reason: Modified incorrectly put code tags
# 2  
Old 12-12-2014
Try this (verbose) awk code:
Code:
awk -F'\t' '
    NR < 4 { print }
    NR > 3 {  $9="GG"; print }
' OFS='\t' file

This User Gave Thanks to junior-helper For This Post:
# 3  
Old 12-12-2014
Try
Code:
awk '{sub (/^\.$/,"GG",$9)}1' file

This User Gave Thanks to RudiC For This Post:
# 4  
Old 12-12-2014
Quote:
Originally Posted by junior-helper
Try this (verbose) awk code:
Code:
awk -F'\t' '
    NR < 4 { print }
    NR > 3 {  $9="GG"; print }
' OFS='\t' file

thank you a lot!!!
# 5  
Old 12-13-2014
Quote:
Originally Posted by RudiC
Try
Code:
awk '{sub (/^\.$/,"GG",$9)}1' file

thanks a lot for all your quick help!
best, kush
# 6  
Old 12-13-2014
Ignoring the comment lines:
Code:
awk '$1!~/^#/ && $9=="."{$9="GG"}1' FS='\t' OFS='\t file

 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies

2. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Shell Programming and Scripting

Substituting comma "," for dot "." in a specific column when comma"," is a delimiter

Hi, I'm dealing with an issue and losing a lot of hours figuring out how i would solve this. I have an input file which looks like this: ('BLABLA +200-GRS','Serviço ','TarifaçãoServiço','wap.bla.us.0000000121',2985,0,55,' de conversão em escada','Dia','Domingos') ('BLABLA +200-GRR','Serviço... (6 Replies)
Discussion started by: poliver
6 Replies

5. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

6. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

7. Shell Programming and Scripting

"Join" or "Merge" more than 2 files into single output based on common key (column)

Hi All, I have working (Perl) code to combine 2 input files into a single output file using the join function that works to a point, but has the following limitations: 1. I am restrained to 2 input files only. 2. Only the "matched" fields are written out to the "matched" output file and... (1 Reply)
Discussion started by: Katabatic
1 Replies

8. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

9. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies
Login or Register to Ask a Question