Usando sed per sostituire caratteri speciali


13

Questo funziona per sostituire tomcon samin un file:

sed 's/tom/sam/g' file_1 > file_2

Ma questo non:

sed 's/*****/sam/g' file_1 > file_2

Per sostituire i caratteri speciali *****con la parola sam. Ho provato con una barra \*ma errori.


2
Con quale comando hai provato \*e quali errori hai riscontrato?
cuonglm

ho provato: sed 's / **** / sam / g' test.txt> test2.txt e risulta in errore: sed: bad regex '*****': espressione regolare precedente non valida - questo ha il blackslash \ before the *
Rosebud

1
Puoi provare a sfuggire a tutti i personaggi speciali:sed 's/\*\*\*\*\*/sam/g'
taliezin

Risposte:


17

Devi fuggire dai personaggi speciali con una barra rovesciata \di fronte al personaggio speciale, ad esempio:

sed 's/\*/t/g' test.txt > test2.txt


0

Devi fuggire dai personaggi speciali con una barra rovesciata \di fronte al personaggio speciale. Per il tuo caso, fuggi da ogni personaggio speciale con una barra rovesciata \.

per esempio: **** boy is ****

sed 's/\*\*\*\*/sam/g' filename

ans:

sam boy is sam
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.