Say i have a variable
I want to replace Boo with chicken.
I have been trying it out like this but it doesn't work is there a way i can replace BOO with CHICKEN
Moderator's Comments:
Please use CODE tags when displaying sample input, output, and code segments.
Your requirements are not at all clear:
Saying: "I want to replace Boo with chicken." is strange since "Boo" does not appear anywhere in your sample input and "chicken" is not what is stored in your variable. In BSD-, Linux-, and UNIX-systems strings, variable assignments, filenames, and almost everything else is case sensitive.
You can't directly use shell variables inside a single-quoted awk script.
Your awk script unconditionally replaces the 3rd field on every line in your input with the contents of the field specified by the numeric value of the awk variable ABC (which, since it hasn't been assigned a value, is 0). How this relates to changing the value of the 4th field (only when it has the value BOO) to CHICKEN is unclear.
If what you are trying to do is to replace every occurrence of the string BOO in your input file with the contents of the shell variable ABC, you might want to try something more like:
If what you are trying to do is to replace the contents of every field whose value is entirely the case insensitive string BOO with the contents of the shell variable ABC, you might want to try something more like:
If what you are trying to do is to replace the contents of field $4 with the contents of the shell variable ABC if and only if that field contains the string BOO, you might want to try something more like:
Of course, all of the above assume that you are using a shell that is based on Bourne shell syntax (not a shell that is based on csh syntax) and that you are not using a Solaris/SunOS system (in which case you would need to use /usr/xpg4/bin/awk or nawk instead of awk).
If none of the above are what you are trying to do and what rdrtx1 guessed is not what you are trying to do then please give a much more detailed, clear description of what your code is supposed to do along with a clear specification of what shell and operating system you're using so we might have a better chance of determining what needs to be done to achieve your desired outcome.
These 2 Users Gave Thanks to Don Cragun For This Post:
Hello Everyone.
I am trying to display contains of a file from a specific line to a specific line(let say, from line number 3 to line number 5). For this I got the shell script as shown below:
if ; then
if ; then
tail +$1 $3 | head -n $2
else
... (5 Replies)
Hi experts,
My csv file looks like this
U;cake;michael;temp;;;;
U;bread;john;temp;;;;
U;cocktails;sarah;temp;;;;
I'd like to change the value fo 2nd column to cf+random number , which will look maybe something like this
U;cf20187;michael;temp;;;;
U;cf8926;john;temp;;;;... (7 Replies)
Hi,
I have a set of files in a directory that I have to read and replace the first occurrence of a number with another dummy number. This is what I have so far but it does not seem to work. The files have lot of other data in each row and each data element is separated by ,@,
for file in... (13 Replies)
my requirement is,
consider a file output
cat output
blah sdjfhjkd jsdfhjksdh
sdfs 23423 sdfsdf sdf"sdfsdf"sdfsdf"""""dsf
hellow there
this doesnt look good
et cetc etc
etcetera
i want to replace a line of line number 4 ("this doesnt look good") with some other line
... (3 Replies)
hello,
i have a undelimited file which contains 229 byte records. i want to change column 23 - 26 with a new value and also change the sign of the data in colulmn 30 - 70. i've tried SED for the first change, but nothing happens:
sed 's/\(^.\{22\}\).\{4\}\(.*\)/\0603\2/' inputfile
heres an... (8 Replies)
I am working on a script to convert bank data to a csv file. I have the format done - columns etc. The final piece of the puzzle is to change the second field (after the R) of every line to reflect its' line number in the file. I am stumped. I can use awk on each line but need help looping through... (9 Replies)
Sed command to replace a line in a file using line number from the output of a pipe.
Is it possible to replace a whole line piped from someother command into a file at paritcular line...
here is some basic execution flow..
the line number is 412
lineNo=412
Now i have a line... (1 Reply)
Hello,
I want to Replace/Remove ^M and the new line that follows it in a delimited file.
So far I have tried following and nothing seems to work for me .
Tr –d ‘\r\n’ < old.dat > new.dat -removes all the linefeed, not just the ones after a ^M.
Sed ‘/^M$/{N; s/.\n//;}’ < old.dat >... (7 Replies)
I have a file like this.
It is tab delimited.
Unfortunately, the missing data was filled in with a period "." (see the leading lines 1-5 columns)
I want to substitute the periods for misisng data with an integer "-999".
however, I do not want the global replace to change the other periods seen... (7 Replies)