Sto tentando di rimuovere parte del percorso in una stringa. Ho il percorso:Unix rimuove parte del percorso
/path/to/file/drive/file/path/
Voglio rimuovere la prima parte /path/to/file/drive
e produrre l'output:
file/path/
Nota: Ho diversi percorsi in un ciclo while, con lo stesso /path/to/file/drive
in tutti loro, ma sto solo cercando il 'come' per rimuovere la stringa desiderata.
ho trovato alcuni esempi, ma non riesco a farli funzionare:
echo /path/to/file/drive/file/path/ | sed 's:/path/to/file/drive:\2:'
echo /path/to/file/drive/file/path/ | sed 's:/path/to/file/drive:2'
\2
essere la seconda parte della stringa e sto chiaramente facendo qualcosa di sbagliato ... forse c'è un più facile modo?
Grazie ... Sì, sto usando le variabili di shell per eseguire questo. Entrambe le parti sono variabili, quella che devo cancellare e il percorso completo. – esausilva
Eccellente! Ma come posso usarlo quando la corda sta arrivando "da una pipa"? – gromit190
@Birger se la stringa proviene da una pipe, è necessario inserirla in una variabile per utilizzare l'espansione della variabile di shell. O semplicemente usi 'sed' in quel caso. –