Come sostituire le stringhe di file con regexp in Linux


0

Sto cercando di sostituire i numeri specifici e utilizzare questo comando:

sed -e 's/[0-9]\{12\}/ /g' file.log

ma non succede nulla. Come puoi vedere da U, questa espressione dovrebbe sostituire tutte le occorrenze numeriche con una dimensione di 12 cifre, a livello globale e sostituirla con spazio. Ho scoperto che i simboli {,} dovrebbero essere sfuggiti - strano. Non funziona Per favore aiuto.


Per me va bene. Puoi mostrare un input di esempio?
— Choroba,

Funziona bene per me. Quale versione di Linux stai usando?
— mvp

quando scrivo echo 1224512561234 | sed -e 's/[0-9]\{12\}/ /g'ho ricevuto la risposta `4`. Mi sembra corretto.

3
Come altri hanno sottolineato, sembra funzionare bene .. Ciò non modificherà il contenuto del file stesso però. Se è quello che stai cercando di fare, puoi provare l' -iopzione per sed see man sed( unixhelp.ed.ac.uk/CGI/man-cgi?sed )
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.