sed
Dosyayı 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 report
da -t
ardından ya h
da olur o
.
Bunun gerçek yerinde değişiklik olmadığını unutmayın: sed
geçici bir yedek kopya oluşturur ve orijinal dosyanın üzerine yazar.
sed
Orijinal dosyanın yedek bir kopyasını saklamak istiyorsanız (dosya kritik veriler içeriyorsa iyi bir fikir olabilir), -i
yedek dosya oluşturmak için anahtara bir uzantı verin :
sed -i'.bak' -e '/^\(report\|-t\(h\|o\)\)/!d' your_file
your_file
orijinali 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
, awk
ve grep
kendi 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 .