Domanda

Sto cercando di modificare alcune linee in più file (sparsi in sottocartelle) senza dover modificare ogni file uno per uno. Mi è stato dato da Chas. il seguente

perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' *

e ha funzionato come un fascino, ma chiedevo se questo comando o simile può essere fatto in modo ricorsivo in un solo colpo

È stato utile?

Soluzione

find . -type f -exec perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' '{}' '+'

In questo modo applicarlo a tutti i file nella directory corrente e tutte le sottodirectory. Essa non seguirà i collegamenti simbolici. Si potrebbe desiderare di restringere la portata del ritrovamento con una direttiva -name pure.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top