trova e sostituisci le directory in linux


0

Sono nuovo di Linux e ho cercato su come trovare e sostituire le directory. Fondamentalmente ho un percorso in un .xml file che assomiglia a:

/some/directory/path

E voglio cambiarlo in qualche altra directory come:

/some/other/path

Ma per la vita di me non riesco a trovare un semplice tutorial su come fare qualcosa di simile.


Hai bisogno di leggere su espressioni regolari. Puoi utilizzare un editor GUI come medit con RE integrato, o è possibile utilizzare sed in una sceneggiatura. A patto che non vi siano ambiguità, potresti anche farla franca con una semplice sostituzione senza RE. Ci sono un sacco di tutorial in giro: basta cercare tutorial di linux medit o tutorial su linux sed . A causa della sintassi della shell, uno script può apparire più complesso, ma è preferibile se si esegue ripetutamente la sostituzione su file diversi.
AFH

Quale distribuzione di Linux stai usando? (cioè Ubuntu) È un compito unico o dovresti applicarlo su più file / orari? Hai mai scritto un programma in qualsiasi lingua? (Questo è solo per sapere quale livello di risposta vorresti.)
user391035

Sono confuso dalla tua domanda? Vuoi rinominare le directory attuali? O i valori che sono in .xml File?
JakeGould

Risposte:


0

Basta usare sed:

sed 's/\/some\/directory\/path/\/some\/other\/path/ig' file.xml > file2.xml

Il formato della parte di espressione regolare è:

sed 's/original_text/replacement_text/ig'

Dovrai sfuggire agli spazi e alle barre retroverse nel percorso della cartella.

La parte / i di "ig" significa ignorare il caso e la parte / g significa sostituire tutte le istanze in cui trova il testo originale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.