sedDosyayı yerinde değiştirmek için kullanma :
sed -i '/^\(report\|-t\(h\|o\)\)/!d' your_file
Bu sed, kalıpla eşleşmeyen tüm satırları silmeyi söyler. Desenin kendisi ^(satır başlangıcı), ardından ya ya reportda -tardından ya hda olur o.
Bunun gerçek yerinde değişiklik olmadığını unutmayın: sedgeçici bir yedek kopya oluşturur ve orijinal dosyanın üzerine yazar.
sedOrijinal dosyanın yedek bir kopyasını saklamak istiyorsanız (dosya kritik veriler içeriyorsa iyi bir fikir olabilir), -iyedek dosya oluşturmak için anahtara bir uzantı verin :
sed -i'.bak' -e '/^\(report\|-t\(h\|o\)\)/!d' your_file
your_fileorijinali değiştirir ve yedek oluşturur your_file.bak.
Bir yan not
Lütfen niyetlerimi yanlış yorumlamayın veya bu konuda rahatsız etmeyin, ancak benzer regex / metin işleme ile ilgili birçok sorunuz olduğunu fark ettim. Sana öğrenmeyi başlatmak için tavsiye sed, awkve grepkendi başınıza verimlilik kadar yardım hızına. Yine, beni yanlış anlamayın, yardım etmek için çok mutluyum (buradaki çoğu insan gibi); sadece bu araçları günlük kullanımınız için almaktan büyük fayda sağladığınızı düşünüyorum.
İnsanların burada ne kadar yararlı olduğunu kanıtlamak için, aşağıdaki yorumlarda @ slm'nin önerisini düşünün ve sorularınız için istediğiniz zaman bu sohbet odasına uğrayabilirsiniz .