Uso la seguente riga per sostituire una stringa nei file:
ag -Q -l "$1" | xargs sed -i '' "s/$1/$2/g"
ag
è the_silver_searcher, ovviamente.
Come posso anche contare il numero di file che sono stati interessati da questa modifica?
Potresti usare tee
nella pipe line e creare un file temporaneo, quindi eseguire wc -l
per contare il numero di file (linee).
ag -Q -l "$1" | tee -a /tmp/num | xargs sed -i '' "s/$1/$2/g"; wc -l /tmp/num; rm /tmp/num
Leggi altre domande sui tag command-line unix