encontrar e substituir diretórios no linux

0

Eu sou novo no Linux e tenho procurado como encontrar e substituir diretórios. Basicamente eu tenho um caminho em um .xmlarquivo que se parece com:

/some/directory/path

E eu quero mudar isso para algum outro diretório como:

/some/other/path

Mas para a vida de mim não consigo encontrar um simples tutorial sobre como fazer algo assim.

Cristal
fonte
Você precisa ler as expressões regulares. Você pode usar um editor de GUI como o meditRE embutido, ou você pode usar sedem um script. Desde que não haja ambigüidades, você pode até conseguir uma simples substituição sem RE. Há uma abundância de tutoriais ao redor: basta procurar pelo tutorial linux medit ou pelo tutorial linux sed . Por causa da sintaxe do shell, um script pode parecer mais complexo, mas é preferível se você for executar a substituição repetidamente em arquivos diferentes.
AFH
Qual distribuição do Linux você está rodando? (ou seja, Ubuntu) É uma tarefa única ou você precisaria aplicar isso em vários arquivos / horas? Você já escreveu algum programa em algum idioma? (Isso é só para saber que nível de resposta você exigiria.)
user391035
Estou confuso com sua pergunta? Você deseja renomear diretórios reais? Ou valores que estão em .xmlarquivos?
JakeGould

Respostas:

0

Apenas use sed:

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

O formato da parte da expressão regular é:

sed 's/original_text/replacement_text/ig'

Você precisará escapar de espaços e barras invertidas no caminho da pasta.

A parte / i de "ig" significa ignorar maiúsculas e minúsculas, e a parte / g significa substituir todas as instâncias onde encontrar o original_text.

HSuke
fonte