Bir Mac klasöründeki her metin nasıl değiştirilir?


Yanıtlar:


5

Kombinasyonunu kullanın find(1)ve sed(1):

# Find all files under the directory hierarchy rooted at 'root', and replace
# all instances of the regular expression 'pattern' with 'replacement' in all
# of those files:
find root -type f -exec sed -i~ 's/pattern/replacement/g' '{}' '+'

Komut satırı uzunluğu sınırlamalarıyla karşılaşırsanız, '+'sonunu ile değiştirin ';'. Bu, yavaş çalışmasına neden olacaktır (çünkü her dosya için yeni bir işlem yapmak zorundaydı), ancak bunun için çok uzun bir komut satırı tehlikesi olmayacak sed.

Ayrıca, yalnızca belirli filtrelere uygun filtreler ekleyerek de değiştirebilirsiniz find(örneğin -name *.txt, yalnızca .txt dosyalarını değiştirmek için).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.