The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
sostituire charandevu Shell scripting e di programmazione 6 04-07-2008 12:30 PM
Come sostituire in Vi ravi.sadani19 Shell scripting e di programmazione 5 06-25-2007 10:30 AM
Sostituire \ n con \ r \ n Chanakya.m Shell scripting e di programmazione 3 07-19-2006 08:20 AM
Come sostituire utilizzando SED? Mahatma Shell scripting e di programmazione 4 03-23-2006 03:04 PM
Sostituire jda2001 UNIX for Dummies Domande & Risposte 2 09-06-2005 03:20 PM

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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 01-15-2008
naikaa naikaa is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 2
sostituire l'ultima / da |

Hi:

Voglio scrivere un Kshell script che sostituirà ultimo / da |.

ad esempio: / home / apps / test / documento dovrebbe essere sostituito in / home / apps / prova | documento.

La lunghezza della stringa non è costante.

Grazie,
Ceneri
  #2 (permalink)  
Old 01-15-2008
ghostdog74 ghostdog74 is offline Forum Advisor  
Utente Registrato
  
 

Join Date: Sep 2006
Interventi: 2.558

Codice:
# echo "/home/apps/test/document" | sed 's/^\(.*\)\/\(.*\)/\1\|\2/'
/home/apps/test|document


Ultimo a cura di ghostdog74; al 01/15/2008 05:38 AM..
  #3 (permalink)  
Old 01-15-2008
reborg's Avatar
reborg reborg is offline Forum Staff  
Administrator
  
 

Iscriviti Data: marzo 2005
Luogo: Irlanda
Messaggi: 4.246

Codice:
sed 's_/\([^/]+\)$_|\1_'

  #4 (permalink)  
Old 01-15-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: aprile 2007
Località: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Interventi: 717
Salve.
Citazione:
Originalmente inviato da reborg View Post
Codice:
sed 's_/\([^/]+\)$_|\1_'
Ho avuto bisogno di usare "*" invece di "+". Alcune versioni di sed può essere necessario "-r" per usare le espressioni regolari estese, in cui la necessità di parens anche modificati:

Codice:
#!/bin/sh -

# @(#) user2    Demonstrate replacement of last specific character, sed.

sed --version | head -1

echo
echo " Original:"
echo "/home/apps/test/document" |
sed 's_/\([^/]+\)$_|\1_'

echo
echo " Modified:"
echo "/home/apps/test/document" |
sed 's_/\([^/]*\)$_|\1_'

echo
echo " Original with -r:"
echo "/home/apps/test/document" |
sed -r -e 's_/([^/]+)$_|\1_'

exit 0

Produzione:

Codice:
% ./user2
GNU sed version 4.1.2

 Original:
/home/apps/test/document

 Modified:
/home/apps/test|document

 Original with -r:
/home/apps/test|document

Ci sono (troppo), molte versioni di sed, Così si deve sapere quale versione si utilizza. Ad esempio, se si dovesse lasciare il "\ (", "\)" nel 3 ° esempio, si potrebbe ottenere un messaggio di errore ", riferimento non valido \ 1", non molto istruttiva, almeno non direttamente ... cheers, DRL
  #5 (permalink)  
Old 01-15-2008
reborg's Avatar
reborg reborg is offline Forum Staff  
Administrator
  
 

Iscriviti Data: marzo 2005
Luogo: Irlanda
Messaggi: 4.246
In realtà, ciò che è stato destinato a questo post, ma è distratto da uno script di awk:


Codice:
sed 's_/\([^/][^/]*\)$_|\1_'

Se vuoi dire qualcosa seguita da almeno un altro personaggio, è esplicito.
  #6 (permalink)  
Old 01-15-2008
V3l0 V3l0 is offline
Utente Registrato
  
 

Iscriviti Data: novembre 2007
Posizione: Belgio e Francia
Interventi: 70

Codice:
cr=$(echo /tutu/tatat/titi/tutu | awk -F/ '{ print $NF; }')
echo /tutu/tatat/titi/tutu | sed -e 's/\/'$cr'$/|'$cr'/'
/tutu/tatat/titi|tutu

  #7 (permalink)  
Old 01-17-2008
naikaa naikaa is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 2
Hi guyz:

Grazie per il vostro aiuto. Esp Reborg, ho usato il tuo suggerimento, e funziona perfettamente.

Grazie!
Closed Thread

Segnalibri

Tag
regex, le espressioni regolari

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 03:20 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0