SED - Unable to replace with <tab>


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting SED - Unable to replace with <tab>
# 8  
Old 07-20-2012
Quote:
Originally Posted by Corona688
Both tr and awk should always accept \t. Old crusty versions of sed sometimes don't.
As far as I know, only GNU sed interprets that undefined sequence as a tab character. If that is incorrect, I'll update this recent post which discusses this in more detail: https://www.unix.com/302674253-post6.html

Regards,
Alister
# 9  
Old 07-23-2012
I've found more sed implementations that accept \t than ones that don't.

Ones that don't, often don't accept \n either.
# 10  
Old 07-23-2012
AFAIK Posix sed does not accept '\t' as a representation for the TAB character. I have only encountered support for \t with GNU sed (and derivatives)
# 11  
Old 07-23-2012
Quote:
Originally Posted by Corona688
I've found more sed implementations that accept \t than ones that don't.

Ones that don't, often don't accept \n either.
Your findings are highly atypical (with respect to the usual workstation/server unix experience).

None of the native sed implementations on the following systems support \t (yet all support \n): Solaris, HP-UX, AIX, (Free|Net|Open)BSD, OS X.

Before reading your post, I had never even heard of a sed implementation whose regular expression grammar did not include \n as a sequence for a newline. For whatever it's worth, the \n sequence has been part of sed since the very beginning (1979); it is mentioned in the UNIX Seventh Edition manual (vol 2b), http://www.cs.bell-labs.com/7thEdMan/ (\t is not).

Regards,
Alister
# 12  
Old 07-23-2012
The idea that \n would not be supported by some sed implementations probably stems from the fact that with the s-command \n is only supported in the regex part, not in the replacement part (again with the exception of GNU sed)..




--
The y-command in sed supports \n on both sides...
# 13  
Old 07-23-2012
For the sake of argument, another way:
Code:
$ sed 's/|/<Ctrl-V><TAB>/g' infile

Ctrl-V allows for the entry of a control character. Follow it by pressing the tab key.

To prove it worked, redirect the output to a file, open it in vi, type the :set list command and you will see the tabs represented with "^I".
# 14  
Old 07-23-2012
Another way to accomplish entering an actual TAB-character ( in bash / ksh93 ):
Code:
sed s/\|/$'\t'/g file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Replace space by tAB

My file looks like 3 33 210.01.10.0 2.1 1211 560 26 45 1298 98763451112 15412323499 INPUT OK 3 233 40.01.10.0 2.1 1451 780 54 99 1876 78787878784 15423210199 CANCEL OK Aim is to replace the spaces in each line by tab Used: sed -e 's/ */\t/g' But I get output like this... (3 Replies)
Discussion started by: sa@@
3 Replies

2. Shell Programming and Scripting

How to replace blank tab with zero in a file?

hi, i need to replace a blank tab output in a file to zero. input file: 2015/08/04 00:00:00 171 730579 27088 <blank> 3823 30273 1621778 ... (6 Replies)
Discussion started by: amyt1234
6 Replies

3. UNIX for Dummies Questions & Answers

select and replace only those string which is followed by \tab

Hi I have a number of sequences and a string occurs a number of times in that sequence. How can I select and replace only those strings which are followed by \tab. for eg : my sequence looks like : string0 positive cd parent=string0 id =121 string0 string0 negative ef parent=... (2 Replies)
Discussion started by: sonia102
2 Replies

4. Shell Programming and Scripting

replace row separated by tab

Dear users, I have this problem, this is the example: 123 (tab) A (tab) B (tab) C (tab) 456 where the (tab) is actually the \t delimiter. I need to replace the A B and C for D E and F, this is: 123 (tab) D (tab) E (tab) F (tab) 456 The thing is that my file is quite long and this... (2 Replies)
Discussion started by: Gery
2 Replies

5. UNIX for Dummies Questions & Answers

Replace tab or any spaces with "

my content: samaccountname employeeid useraccountcontrol description i want it to look like this: "samaccountname","employeeid","useraccountcontrol","description" (2 Replies)
Discussion started by: tjmannonline
2 Replies

6. Shell Programming and Scripting

Replace with tab

I have text file, i want to replace all the charecters with tab. suppose: cat abc.txt dfjkdf dfdfd fd fd the output should have 4 lines and each line will have 1 tab. Thanks :confused: (2 Replies)
Discussion started by: javeed7
2 Replies

7. Shell Programming and Scripting

how to replace new line ( \n ) with space or Tab in Sed

Hi, how to replace new line with tab in sed ... i used sed -e 's/\n/\t/g' <filename > but its not working (1 Reply)
Discussion started by: mail2sant
1 Replies

8. Shell Programming and Scripting

replace comma(,) with Tab

hi all, i have a file with commas(,). i want to replace all the commas with tab(\t). Plz help...its urgent... (3 Replies)
Discussion started by: vikas_kesarwani
3 Replies

9. Shell Programming and Scripting

Replace a Pipe with tab

i have a file which contains text as shown below.... aaa|bbb|ccc|ddd| cccc|ddddd|eeeee|ffffff want to convert pipe symbol to tab like aaaa bbbb cccc ddddd ccccc ddddd eeeee ffffffffff i tried with sed sed 's/|/\t/g' file_name ...but i could not... (1 Reply)
Discussion started by: srikanthus2002
1 Replies

10. UNIX Desktop Questions & Answers

replace tab with space

How do I replace a tab with a space in scripts using sed/awk ? (1 Reply)
Discussion started by: avnerht
1 Replies
Login or Register to Ask a Question