The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > UNIX för avancerade & Expertanvändare
.
google unix.com



UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
konvertera hex till december aismann Shell-programmering och Skript 4 02-26-2008 05:51
Konvertering \ 0 till en \ n ajcannon Shell-programmering och Skript 2 09-28-2007 12:30
Konvertering seeyou SCO 3 01-19-2006 02:22
förädlingsledet. txt laila63 UNIX for Dummies Frågor & Svar 4 06-30-2004 05:56
omvandla kb till mb csaunders UNIX for Dummies Frågor & Svar 1 02-26-2004 04:14

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Omdöme: Thread Rating: 1 votes, 3.00 average. Visningslägen
  #1 (permalänk)  
Old 12-12-2006
sakthi.abdullah sakthi.abdullah is offline
Registered User
  
 

Join Date: Nov 2006
Inlägg: 22
sed konvertering / till \ /

Hej alla,
Jag använder sed för att omvandla en sträng av typen /abc / def / gh vid \ / abc \ / def \ / GH

[praktikant @ LINUX ~] $ edu \u003d "/ home / abc / december"

När jag upprepa att rörlig och skicka det till sed fungerar det ...
[praktikant @ LINUX ~] $ echo $ edu |sed 's / \ / / \ \ \ / / g'
\ / home \ / abc \ / december

Men när jag försöker spara i en variabel, visar den följande misstag
[praktikant @ LINUX ~] $ värderas \u003d `echo $ edu |sed 's / \ / / \ \ \ / / g' `
sed:-E uttryck # 1, röding 9: unknown option att "s"

HJÄLP BLEAZ

Senast redigerad av sakthi.abdullah; 12-12-2006 at 09:23..
  #2 (permalänk)  
Old 12-12-2006
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.808

Kod:
echo "a/b/d" | sed 's#/#\\/#g'

När du använder sed att arbeta med "/" tecken du måste använda ett annat skiljetecken - i detta fall jag valde "#"
  #3 (permalänk)  
Old 12-13-2006
sakthi.abdullah sakthi.abdullah is offline
Registered User
  
 

Join Date: Nov 2006
Inlägg: 22
Kan du förklara detta närmare eftersom
Vanligtvis är det i form s / gamla / nya /g men sed 's # / # \ \ / # g " innehåller endast s / ... / g
  #4 (permalänk)  
Old 12-13-2006
sakthi.abdullah sakthi.abdullah is offline
Registered User
  
 

Join Date: Nov 2006
Inlägg: 22
Citat:
Ursprungligen postat av jim McNamara
Kod:
echo "a/b/d" | sed 's#/#\\/#g'

När du använder sed att arbeta med "/" tecken du måste använda ett annat skiljetecken - i detta fall jag valde "#"
Igen, echo "a / b / d" | sed 's # / # \ \ / # g " ll fungerar fint .... Men vad jag behöver är något sånt här .. hur kan jag lagra värdet på en variabel
gilla abc \u003d `echo" a / b / d "| sed 's # / # \ \ / # g ""
  #5 (permalänk)  
Old 12-13-2006
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: februari 2005
Ort: Bangalore, Indien
Inlägg: 2.798
Citat:
Ursprungligen postat av sakthi.abdullah
abc \u003d `echo" a / b / d "| sed 's # / # \ \ / # g ""
Vrid baklängescitationstecken till $(...). Se.


Kod:
[~]$ abc=`echo "a/b/d" | sed 's#/#\\/#g'`
[~]$ echo $abc
a/b/d
[~]$ abc=$(echo "a/b/d" | sed 's#/#\\/#g')
[~]$ echo $abc
a\/b\/d
[~]$

Hmm .. Jag är lite förvånad med skillnaden i beteende `...` och $(...)

Redigera
Ack Här är hur det går med baklängescitationstecken.

Kod:
[/tmp]$ abc=`echo "a/b/d" | sed 's#/#\\\\/#g'`
[/tmp]$ echo $abc
a\/b\/d

Och här är varför. Från man sh

Kod:
       When  the  old-style  backquote  form of substitution is used, backslash
       retains its literal meaning except when followed by $,  ?,  or  \.   The
       first  backquote not preceded by a backslash terminates the command sub-
       stitution.  When using the $(command) form, all characters  between  the
       parentheses make up the command; none are treated specially.

/Redigera

Senast redigerad av vino; 12-13-2006 vid 01:22..
  #6 (permalänk)  
Old 12-13-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.131
Baklängescitationstecken version:
abc \u003d `echo" a / b / d "| sed 's # / # \ \ \ \ / # g' `

men jag starkt föredrar $(...) att `...` av många skäl.
  #7 (permalänk)  
Old 12-14-2006
sakthi.abdullah sakthi.abdullah is offline
Registered User
  
 

Join Date: Nov 2006
Inlägg: 22
Citat:
Ursprungligen postat av Perderabo
Baklängescitationstecken version:
abc \u003d `echo" a / b / d "| sed 's # / # \ \ \ \ / # g' `

men jag starkt föredrar $(...) att `...` av många skäl.
Kan du nämna dem ..
Closed Thread

Komihåglista

Taggar
linux

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 02:07.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0