Here are two other ways to do what you seem to want; one with sed and one just using shell built-ins. (Note that in this suggested code the string assigned to var starts with a <tab> followed by a <space> and ends with a <space> followed by a <tab> and all of the spaces and tabs are preserved in the output):
The above script produces the output:
(unfortunately, the CODE tags seem to be stripping off the trailing <space> and <tab> characters on the last line). So too verify that the spaces and tabs were preserved, when that script's output is piped through od -bc, the output is:
This was tested using a Korn shell, but should work with any POSIX-conforming shell.
Note that using printf '%s\n' "$var" instead of echo $var protects you in cases where the expansion of $var contains any <tab> characters; adjacent <space> characters; and depending on what operating system and shell you're using, any backslash characters (\) that could yield unexpected transformations.
This User Gave Thanks to Don Cragun For This Post:
Alright, I think I know what I am doing with sed(which probably means I don't). But I cant figure out how to replace just the first occurance of a string. I have tried sed, ed, and grep but can't seem to figure it out. If you have any suggestions I am open to anything! (3 Replies)
Hi all,
I have file with following content
...........................
..........TEST..........
..........TEST..........
.....................
.....TEST..........
.....................
.....................
.....TEST..........
I want to replace nth "TEST" with "OK" using... (4 Replies)
I have a file containing about 5 million rows, in the file there are some records which has extra delimiter at random position. (we dont know the positions), now we have to Count the delimeter from each row and if the count of delimeter is not matching then I want to delete those rows from the... (5 Replies)
I have a record like the one given below.
010000306551~IN ~N~ |WINDWARD PK|Alpharetta|
If ~ is present more than instance in a line,then I need to delete those instances.
Any ideas?
I am working in Solaris (7 Replies)
test.txt is the dynamic file but some of combination are fix
like below are the lines
;wonder_off =
;wonder_off = disabled
wonder_off =
wonder_off = disabled
the test.txt can content them in any order
#cat test.xt
;wonder_off =
;wonder_off = disabled
wonder_off =
wonder_off =... (5 Replies)
Suppose you have a line like this:
cn=user.blr.ou=blr.india.o=company
The line should be converted like this:
cn=user.blr,ou=blr.india,o=comapny
Was wondering how to do that using shell script.
Please use tags where appropriate, thank you (4 Replies)
Hi Friends,
I have a file1.txt as below
29123973Ç2012-0529Ç35310124Ç000000000004762Ç00010Ç20Ç390ÇÇÇÇF
29123974Ç20120529Ç35310125Ç0000000000046770Ç00010Ç20Ç390ÇÇÇÇF
29123975Ç20120529Ç35310126Ç0000000000046804Ç00010Ç20Ç390ÇÇÇÇF
29123976Ç20120529Ç35310127Ç0000000000044820Ç00010Ç20Ç390ÇÇÇÇF
i have a file2.txt... (4 Replies)
I have file like below
abc 12 34 45 code
abcdef 451 1 4 code
ghtyggg 4 56 3 code
I need to change this to
abc|12|34|45|code|
abcdef|451|1|4|code|
ghtyggg|4|56|3|code|
I tried replace space with | in sed ... but in the middle some row has... (7 Replies)
I've a pipe delimited data in a file of size 3GB. if the text data conatins pipe delimiter that will be enclose with double quotes. I have to replace delimiter which exists between double quotes with #%@#%@#%@ using awk or sed. can some one provide a better and efficient solution to me.
The below... (4 Replies)