Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Change a character based on its position number Post 302712873 by pamu on Wednesday 10th of October 2012 02:39:11 AM
Old 10-10-2012
try this.....

Just pass parameters..
NUM=position of the string from first line.
Rpl=Check if this letter presents
subs=Replace with this letter

Code:
awk -F "" -v NUM="2" -v Rpl="A" -v subs="C" '{if((max+NF)>=NUM){for(i=1;i<=NF;i++){if((max+i) == NUM && $i == Rpl){$i=subs;max+=NF}}}else{max+=NF}}1' OFS="" file

Hope this helpsSmilie
This User Gave Thanks to pamu For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Character position

Hi , I am required to view the fixed postion file very often . I am looking for the utility like this if the file has a one or multile line abcdefghijklmnopqr Utility should make my file look like this 12345678910111213141516-------------------------- abcdefghijk l m n o p q r ... (4 Replies)
Discussion started by: akrathi
4 Replies

2. Shell Programming and Scripting

Sorting a flat file based on multiple colums(using character position)

Hi, I have an urgent task here. I am required to sort a flat file based on multiple columns which are based on the character position in that line. I am restricted to use the character position instead of the space and sort +1 +2 etc to do the sorting. I understand that there is a previous... (8 Replies)
Discussion started by: cucubird
8 Replies

3. Shell Programming and Scripting

Change Position of word character

Hi, I have following format in file aaa with content below, and would like to seek help from forumer about how to change and swap the position on 2nd field. 5874957|901125| 95874960|650614| 95874966|870308| 901125 to be changed as 25-11-1990 for eg Can someone help please ?? :) ... (6 Replies)
Discussion started by: cedrichiu
6 Replies

4. Shell Programming and Scripting

Cut multiple data based on character position

How to extract multiple data based on character position. I need to fetch from 7-9 and 22-26 and there is no delimiter for 22-26 since it is part of the column. The file may have more than 1000 character long.I managed to pull any one but not both for example test data 12345 zxc vbnmlk... (1 Reply)
Discussion started by: zooby
1 Replies

5. Linux

Linux script to remove a character in a file based on position.

Greetings, We have a requirement where we need to loop in a fixed width file in linux and remove a character based on a position for every record. It would highly appreciate if someone can help to automate this. Appreciate your time and help! Regards (3 Replies)
Discussion started by: mailme0205
3 Replies

6. Shell Programming and Scripting

Find character and Replace character for given position

Hi, i want find the character '-' in a file from position 284-298, if it occurs i need to replace it with 'O ' for the position in the file. How to do that using SED command. thanks in advance, Sara (9 Replies)
Discussion started by: Sara183
9 Replies

7. Shell Programming and Scripting

Replacing a character with a number based on lines

Hi, I am in need of help for the two things which is to be done. First, I have a file that has around four columns. The first column is filled with letter "A". There are around 400 lines in the files as shown below. A 1 5.2 3.2 A 2 0.2 4.5 A 1 2.2 2.2 A 5 2.1 ... (2 Replies)
Discussion started by: begin_shell
2 Replies

8. Shell Programming and Scripting

Splitting based on occurence of a Character at fixed position

I have a requirement where i need to split a file based on occurence of a character which is present at a fixed position. Description is as below: 1. The file will be more than 1 Lakh records. 2. Each line will be of fixed length of 987 characters. 3. At position 28 in each line either 'C' or... (9 Replies)
Discussion started by: Neelkanth
9 Replies

9. Shell Programming and Scripting

Search for a string at a particular position and replace with blank based on position

Hi, I have a file with multiple lines(fixed width dat file). I want to search for '02' in the positions 45-46 and if available, in that lines, I need to replace value in position 359 with blank. As I am new to unix, I am not able to figure out how to do this. Can you please help me to achieve... (9 Replies)
Discussion started by: Pradhikshan
9 Replies

10. Shell Programming and Scripting

Count specific character of a file in each line and delete this character in a specific position

I will appreciate if you help me here in this script in Solaris Enviroment. Scenario: i have 2 files : 1) /tmp/TRANSACTIONS_DAILY_20180730.txt: 201807300000000004 201807300000000005 201807300000000006 201807300000000007 201807300000000008 2)... (10 Replies)
Discussion started by: teokon90
10 Replies
RG::Blast::Parser(3pm)					User Contributed Perl Documentation				    RG::Blast::Parser(3pm)

NAME
RG::Blast::Parser - fast NCBI BLAST parser SYNOPSIS
use Data::Dumper; use RG::Blast::Parser; my $parser = RG::Blast::Parser->new(); # read from STDIN open( EXAMPLE, '<', '/usr/share/doc/librg-blast-parser-perl/examples/converged.ali' ) || confess($!); my $parser = RG::Blast::Parser->new( *EXAMPLE, "converged.ali" ); # read from EXAMPLE, use name "converged.ali" in error messages while( my $res = $parser->parse() ) { print Dumper( $res ); } eval { my $res = $parser->parse(); # ... }; if( $@ && $@ =~ /^parser error/ ) { warn("failed to parse blast result - exception caught"); } DESCRIPTION
This package contains perl binding for a very fast C/C++ library for NCBI BLAST -m 0 (default) output parsing. BLAST results are returned in a convenient hash structure. Multiple results may be concatenated for input. One result is parsed and returned at a time. CONSTRUCTOR
new( [FILEHANDLE, [NAME]] ) Creates an "RG::Blast::Parser". Blast results are read from FILEHANDLE, STDIN by default. The input stream may be named NAME in error messages (default: "STDIN"). METHODS
parse( [TRACE_PARSING, [TRACE_SCANNING]] ) Parse one complete BLAST result and return it. If no results on input stream, returns "undef". In case of parser error it die()s with an (at present not very useful) error message. The following structure is returned in a hash reference: { blast_version => STRING, references => [ STRING, ... ], rounds => [ { oneline_idx => NUM, # index of first one-line description of # round in "onelines" oneline_cnt => NUM, # number of one-line descriptions of round # in "onelines" hit_idx => NUM, # index of first hit of round in "hits" hit_cnt => NUM, # number of hits of round in "hits" oneline_new_idx => NUM|undef# index of first new (not-seen-before) # one-line description of round oneline_new_cnt => NUM # number of new one-line descriptions of # round }, ... ], q_name => STRING, q_desc => STRING|undef, q_length => NUM, db_name => STRING, db_nseq => NUM, db_nletter => NUM, onelines => [ # one-line descriptions from all rounds { name => STRING, desc => STRING|undef, bit_score => NUM, e_value => NUM }, ... ], converged => BOOLEAN, hits => [ # hits from all rounds { name => STRING, desc => STRING|undef, length => NUM, hsps => [ { bit_score => NUM, raw_score => NUM, e_value => NUM, method => STRING, identities => NUM, positives => NUM, gaps => NUM, q_strand => STRING|undef, s_strand => STRING|undef, q_frame => NUM|undef, s_frame => NUM|undef, q_start => NUM, q_ali => STRING, q_end => NUM, match_line => STRING, s_start => NUM, s_ali => STRING, s_end => NUM }, ... ] }, ... ], tail => STRING # bulk text after the last hit / one-line # description } If you want tracing for parsing and scanning, you can enable them using the parameters of this call. result() Returns the last BLAST result parsed or "undef" if no last result. get_trace_scanning() Returns scan trace state as a Boolean value. set_trace_scanning( BOOLEAN ) Set scan trace - debugging aid. SEE ALSO
Zerg(3pm), Zerg::Report(3pm) AUTHOR
Laszlo Kajan, <lkajan@rostlab.org> COPYRIGHT AND LICENSE
Copyright (C) 2012 by Laszlo Kajan This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available. perl v5.14.2 2012-03-29 RG::Blast::Parser(3pm)
All times are GMT -4. The time now is 03:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy