Sponsored Content
Operating Systems Linux Removing a character at specific position in a column Post 302957569 by RavinderSingh13 on Tuesday 13th of October 2015 02:34:41 AM
Old 10-13-2015
Hello Syeda,

Here is an example suppose you want to substitute the 2nd occurrence of _ in $2 then following may help you.
Input_file:
Code:
Ravinder gi_49482297_ref_YP_039521.1_ TESTing test123 sizth_column_ seventh eight_column_test
TEST121 gi_49482297_ref_YP_039521.1_ TESTing test123 sizth_column_ seventh eight_column_test
TEST1211 gi_49482315_ref_YP_039539.1_ TESTing test123 sizth_column_ seventh eight_column_test
TEST12134 gi_49482315_ref_YP_039539.1_ TESTing test123 sizth_column_ seventh eight_column_test

Following is the code for same.
Code:
awk -vvar=2 '{split($2, A,"_");{for(i=1;i<=length(A);i++){if((i-1)==var){k=""} else {k="_"};q=q?q k A[i]:A[i]};$2=q;;q=""}} 1'  Input_file

Output will be as follows.
Code:
Ravinder gi_49482297ref_YP_039521.1_ TESTing test123 sizth_column_ seventh eight_column_test
TEST121 gi_49482297ref_YP_039521.1_ TESTing test123 sizth_column_ seventh eight_column_test
TEST1211 gi_49482315ref_YP_039539.1_ TESTing test123 sizth_column_ seventh eight_column_test
TEST12134 gi_49482315ref_YP_039539.1_ TESTing test123 sizth_column_ seventh eight_column_test

Here I have given a variable named var=2 in my code as I wanted to change only second occurrence in $2 of _.
You could change it accordingly as per your requirement too. Hope this helps.

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to add character in specific position of a string?

Hi All, I would like to use sed to add "-" between the following string: Value: 20060830 Result: 2006-08-30 Pls advice. Thx a lot Victor (5 Replies)
Discussion started by: victorlung
5 Replies

2. Shell Programming and Scripting

Print lines with specific character at nth position in a file

I need to print lines with character S at nth position in a file...can someone pl help me with appropriate awk command for this (2 Replies)
Discussion started by: manaswinig
2 Replies

3. Shell Programming and Scripting

Print lines with specific character at nth position in a file

I need to print lines with character S at nth position in a file...can someone pl help me with appropriate awk command for this (1 Reply)
Discussion started by: manaswinig
1 Replies

4. Shell Programming and Scripting

Insert character in a specific position of a file

Hi, I need to add Pipe (|) at 5th and 18th position of all records a file. How can I do this? I tried to add it at 5th position using the below code. It didnt work. Please help!!! awk '{substr($0,5,1) ~ /|/}{print}' $input_file > $temp_file (1 Reply)
Discussion started by: gpaulose
1 Replies

5. Shell Programming and Scripting

Using sed to replace specific character and specific position

I am trying to use sed to replace specific characters at a specific position in the file with a different value... can this be done? Example: File: A0199999123 A0199999124 A0199999125 Need to replace 99999 in positions 3-7 with 88888. Any help is appreciated. (5 Replies)
Discussion started by: programmer22
5 Replies

6. Shell Programming and Scripting

using awk removing newline and specific position

Hello Friends, Input File looks as follows: >FASTA Header1 line1 line2 line3 linen >FASTA Header2 Line1 Line2 linen >FASTA Header3 and so on ....... Output: Want something as: >FASTA Header1 line1line2line3linen >FASTA Header2 (5 Replies)
Discussion started by: Deep9000
5 Replies

7. Shell Programming and Scripting

Removing 0 from a specific position - if it exists

I have a file that I need to parse using a script. The dates in the file are displayed in the format: Mar 2, 2011 9:09:31 PM I have tried using the date command %e and %l but it pads an extra space for the day and hour if they are single digits. So this I used a normal date command: ... (6 Replies)
Discussion started by: crazyideas
6 Replies

8. Shell Programming and Scripting

Delete character on specific position

Hi, im still new in unix. i want to ask how to delete character on specific position in line, lets say i want to remove 5 character from position 1000, so characters from position 1000-1005 will be deleted. i found this sed command can delete 4 characters from position 10, but i dont know if... (7 Replies)
Discussion started by: bluesue
7 Replies

9. Post Here to Contact Site Administrators and Moderators

Search for a pattern and replace a space at specific position with a Character in File

In file, we have millions of records each of 1000 in length. And at specific position say 800 there is a space, we need to replace it with Character X if the ID in that row starts with 123. So far i have used the below which is replacing space at that position to X but its not checking for... (3 Replies)
Discussion started by: Jagmeet Singh
3 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
Mojo::ByteStream(3pm)					User Contributed Perl Documentation				     Mojo::ByteStream(3pm)

NAME
Mojo::ByteStream - ByteStream SYNOPSIS
# Manipulate bytestreams use Mojo::ByteStream; my $stream = Mojo::ByteStream->new('foo_bar_baz'); say $stream->camelize; # Chain methods my $stream = Mojo::ByteStream->new('foo bar baz')->quote; $stream = $stream->unquote->encode('UTF-8')->b64_encode(''); say $stream; # Use the alternative constructor use Mojo::ByteStream 'b'; my $stream = b('foobarbaz')->html_escape; DESCRIPTION
Mojo::ByteStream provides a more friendly API for the bytestream manipulation functions in Mojo::Util. FUNCTIONS
Mojo::ByteStream implements the following functions. "b" my $stream = b('test123'); Construct a new Mojo::ByteStream object. METHODS
Mojo::ByteStream implements the following methods. "new" my $stream = Mojo::ByteStream->new('test123'); Construct a new Mojo::ByteStream object. "b64_decode" $stream = $stream->b64_decode; Alias for "b64_decode" in Mojo::Util. "b64_encode" $stream = $stream->b64_encode; $stream = $stream->b64_encode(" "); Alias for "b64_encode" in Mojo::Util. b('foo bar baz')->b64_encode('')->say; "camelize" $stream = $stream->camelize; Alias for "camelize" in Mojo::Util. "clone" my $stream2 = $stream->clone; Clone bytestream. "decamelize" $stream = $stream->decamelize; Alias for "b64_decamelize" in Mojo::Util. "decode" $stream = $stream->decode; $stream = $stream->decode('iso-8859-1'); Alias for "decode" in Mojo::Util, defaults to "UTF-8". $stream->decode('UTF-16LE')->unquote->trim->say; "encode" $stream = $stream->encode; $stream = $stream->encode('iso-8859-1'); Alias for "encode" in Mojo::Util, defaults to "UTF-8". $stream->trim->quote->encode->say; "hmac_md5_sum" $stream = $stream->hmac_md5_sum('passw0rd'); Alias for "hmac_md5_sum" in Mojo::Util. "hmac_sha1_sum" $stream = $stream->hmac_sha1_sum('passw0rd'); Alias for "hmac_sha1_sum" in Mojo::Util. b('foo bar baz')->hmac_sha1_sum('secr3t')->quote->say; "html_escape" $stream = $stream->html_escape; $stream = $stream->html_escape('^ !#$%(-;=?-~'); Alias for "html_escape" in Mojo::Util. b('<html>')->html_escape->say; "html_unescape" $stream = $stream->html_unescape; Alias for "html_unescape" in Mojo::Util. b('&lt;html&gt;')->html_unescape->url_escape->say; "md5_bytes" $stream = $stream->md5_bytes; Alias for "md5_bytes" in Mojo::Util. "md5_sum" $stream = $stream->md5_sum; Alias for "md5_sum" in Mojo::Util. "punycode_decode" $stream = $stream->punycode_decode; Alias for "punycode_decode" in Mojo::Util. "punycode_encode" $stream = $stream->punycode_encode; Alias for "punycode_encode" in Mojo::Util. "qp_decode" $stream = $stream->qp_decode; Alias for "qp_decode" in Mojo::Util. "qp_encode" $stream = $stream->qp_encode; Alias for "qp_encode" in Mojo::Util. "quote" $stream = $stream->quote; Alias for "quote" in Mojo::Util. "say" $stream->say; $stream->say(*STDERR); Print bytestream to handle or STDOUT and append a newline. "secure_compare" my $success = $stream->secure_compare($string); Alias for "secure_compare" in Mojo::Util. say 'Match!' if b('foo')->secure_compare('foo'); "sha1_bytes" $stream = $stream->sha1_bytes; Alias for "sha1_bytes" in Mojo::Util. "sha1_sum" $stream = $stream->sha1_sum; Alias for "sha1_sum" in Mojo::Util. "size" my $size = $stream->size; Size of bytestream. "split" my $collection = $stream->split(','); Turn bytestream into Mojo::Collection. b('a,b,c')->split(',')->map(sub { $_->quote })->join(" ")->say; "to_string" my $string = $stream->to_string; Stringify bytestream. "trim" $stream = $stream->trim; Alias for "trim" in Mojo::Util. "unquote" $stream = $stream->unquote; Alias for "unquote" in Mojo::Util. "url_escape" $stream = $stream->url_escape; $stream = $stream->url_escape('^A-Za-z0-9-._~'); Alias for "url_escape" in Mojo::Util. b('foo bar baz')->url_escape->say; "url_unescape" $stream = $stream->url_unescape; Alias for "url_unescape" in Mojo::Util. b('%3Chtml%3E')->url_unescape->html_escape->say; "xml_escape" $stream = $stream->xml_escape; Alias for "xml_escape" in Mojo::Util. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::ByteStream(3pm)
All times are GMT -4. The time now is 05:36 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy