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:
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.
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:
Oh yes I got it. thanks.
now i can change the code into
Code:
awk '{sub(/\_$/,"anything",$2);print}
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 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)