Terminal 101: Sed Kullanarak Bul ve Değiştir

04/29 2013

Word'ün Tüm Oluşumlarını Tek Bir Dosyada Değiştirin

Tek bir kelimenin geçtiği tüm yerleri bir başkasıyla değiştirmek istediğiniz tek bir dosyanız varsa, bunu aşağıdaki komutu kullanarak kolayca yapabilirsiniz:

sed 's/FindThisWord/ReplaceWithThisWord/g' file.txt

Yukarıdaki komuttaki "FindThisWord" kelimesini, değiştirilmesini istediğiniz kelimeyle değiştirin ve yukarıdaki komuttaki "ReplaceWithThisWord" kelimesini, kelimeyi değiştirmek istediğiniz kelimeyle değiştirin.

(yeni sekmede açılır)


Bu komut sed'i açacak, bu da metin dosyasını ekrana yazdıracak ve bulunan sözcük oluşumlarını kullanmak istediğiniz sözcükle değiştirecektir.

Yani, aşağıdaki belgeye sahip olsaydık:

Elma harika!

Yukarıdaki metin belgesindeki "Apple" ifadesini bunun yerine "MacLife" ile değiştirmek için aşağıdaki komutu çalıştırabiliriz:

sed 's/Apple/MacLife/g' sample.txt

Düzenlenen belge, görmeniz için ekrana yazdırılacaktır.

Değişiklikleri Dosyaya Yazmak

(yeni sekmede açılır)

Her şey yolunda, ancak yukarıdaki komut orijinal dosyadaki değişiklikleri kaydetmez, yalnızca güncellenen dosyayı ekrana yazdırır. Değişiklikleri bir çıktı dosyasına geri yazmak için bunun yerine aşağıdaki komutu kullanacaksınız:

sed -n 's/FindthisWord/ReplaceWithThisWord/gpw output.txt' file.txt

Öyleyse, yukarıdaki aynı örnekle devam edersek, cümledeki "Apple" yerine "MacLife" ifadesini kullanırsak, aşağıdaki komutu kullanın:

sed -n 's/Apple/MacLife/gpw output.txt' sample.txt

Bu, sed'in sadece dosyayı değiştirip ekrana yazdırmasına değil, aynı zamanda değişikliklerin "output.txt" adlı bir dosyaya yazılmasına da neden olacaktır (bu adı, yedek dize komutunun içinde değiştirebilirsiniz. Cory

) Bohon, serbest çalışan bir teknoloji yazarı, bağımsız Mac ve iOS geliştiricisi ve amatör fotoğrafçıdır. Bu makalenin yazarını Twitter'da takip edin .