Removing a character at specific position in a column
Hi,
I have a file like this (about 8 columns in total, this being the 2nd column)
I want to remove the _ at the end of the line.
And at later stages I would want to replace the _ with another character perhaps.
Following may help you in same, let's say you have a Input_file as follows(which is an example as you haven't shown us complete input and didn't tell us about field separator so I am taking it as a test, where field separator is a space and which has 7 columns in it.)
Input_file:
Now following code may help in same.
Output will be as follows.
Where I am changing 2nd columns _ with NULL and other columns (only 5th column in my example file) _ with a string _new charachter which you can put it as per your requirement into code. Let us know if this helps you.
Thanks,
R. Singh
Last edited by RavinderSingh13; 10-13-2015 at 02:23 AM..
This User Gave Thanks to RavinderSingh13 For This Post:
Thanks R. Singh but I am not really getting it, possibly because i have a very limited knowledge of awk commands.
what do I have to do if I only want to remove the _ from 2nd column? I have tried using the first part of your code but its not working.
what am I doing wrong?
If you want to only substitute $2's _ present at last of $2then following may help you. As you had mentioned in first post that you need to substitute other columns _ too so I have taken POST#2 example, please try following and let me know if this helps you.
Input_file:
Output will be as follows.
Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
Oh yes I got it. thanks.
now i can change the code into
to print anything I want at the end of column 2.
Thanks a lot
One thing more, how can I specify the specific position at which I want to make the change? I mean if I want to change something that is not at the end of the column.
Here is an example suppose you want to substitute the 2nd occurrence of _ in $2 then following may help you.
Input_file:
Following is the code for same.
Output will be as follows.
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:
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
2. Post Here to Contact Site Administrators and Moderators
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)
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)
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)
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)
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)