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.