Paragraph in "sed"


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Paragraph in "sed"
# 1  
Old 07-10-2005
Paragraph in "sed"

I can't use "\n" in sed, i.e. the command: " ls | sed 's/\n/\t/g' " doesn't work.
Does anyone know about this?

Last edited by Euler04; 07-11-2005 at 02:10 AM..
# 2  
Old 07-11-2005
tr

Hello every one.
I found that this can be done by
tr "\n" "\t" .
If anyone know how to do this by "sed", please tell me.
Thank You.
# 3  
Old 07-11-2005
If you are using sed and want to use \n then you should read the whole text into the pattern space and then carry out your sed command.

Something on the line like this.

Code:
sed -e '$!N; s/\n/\t/g' inputfile

Not tested tho'.

Vino

Last edited by vino; 07-11-2005 at 02:30 AM..
# 4  
Old 07-11-2005
It works on Gentoo of gnu sed:
Code:
sed -n 'H;${g;s/\n/\t/g;p}'

# 5  
Old 07-11-2005
Thanks

Thanks a lot.
But these commands are not intuitive for us, i think.
Do you have any idea why "sed" forbid the simple expression above?
# 6  
Old 07-11-2005
Quote:
Originally Posted by Euler04
Thanks a lot.
But these commands are not intuitive for us, i think.
Do you have any idea why "sed" forbid the simple expression above?
Read the sed FAQ - section 5.10

Cheers
ZB
# 7  
Old 07-11-2005
When sed accepts a line, it strips off the \n at the end and that is the reason, you cant use a simple sed 's/\n/\t/g'.

But when you use N with sed, you can store multiple lines in the pattern-space of sed. In this case, sed embeds a newline character aka \n between the lines. So the pattern space looks like

Code:
line1\nline2\n...

Now the \n is visible to sed. And your simple sed command should work fine.

Vino
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

2. Shell Programming and Scripting

Awk,sed : change every 2nd field ":" to "|"

Hi Experts, I have a string with colon delimited, want 2nd colon to be changed to a pipe. data: 101:8:43:4:72:14:41:69:85:3:137:4:3:0:4:0:9:3:0:3:12:3: I am trying with sed, but can change only 1 occurance: echo "101:8:43:4:72:14:41:69:85:3:137:4:3:0:4:0:9:3:0:3:12:3:" | sed 's/:/|/2'... (5 Replies)
Discussion started by: rveri
5 Replies

3. Post Here to Contact Site Administrators and Moderators

Suggestion: adding two new groups "sed" and "awk"

Majority of the questions are pertaining file/string parsing w.r.t sed or awk It would be nice to have these two as their own sub category under shell-programming-scripting which can avoid lot of duplicate posts. (1 Reply)
Discussion started by: jville
1 Replies

4. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

5. Shell Programming and Scripting

Using sed to find text between a "string " and character ","

Hello everyone Sorry I have to add another sed question. I am searching a log file and need only the first 2 occurances of text which comes after (note the space) "string " and before a ",". I have tried sed -n 's/.*string \(*\),.*/\1/p' filewith some, but limited success. This gives out all... (10 Replies)
Discussion started by: haggismn
10 Replies

6. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

7. Shell Programming and Scripting

Simplify Bash Script Using "sed" Or "awk"

Input file: 2 aux003.net3.com error12 6 awn0117.net1.com error13 84 aux008 error14 29 aux001.ha.ux.isd.com error12 209 aux002.vm.ux.isd.com error34 21 alx0027.vm.net2.com error12 227 dux001.net5.com error123 22 us008.dot.net2.com error121 13 us009.net2.com error129Expected Output: 2... (4 Replies)
Discussion started by: sQew
4 Replies

8. Shell Programming and Scripting

Help to change the file with "sed" and "awk"

Hi experts I want your help to change the file format to my wanted version, please give me a hand thanks $cat file install pass make os pass make build kernel failed usb storage pass chane to | *install* | *make os* | *make build kernel* | *usb storage* | | pass | pass... (7 Replies)
Discussion started by: yanglei_fage
7 Replies

9. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies
Login or Register to Ask a Question