Modelle eşleşiyorsa, tüm satırı sed
ile değiştirmem gerekiyor. Örneğin, eğer çizgi 'bir iki altı üç dört' ve 'altı' varsa, o zaman tüm satır 'arıza' ile değiştirilmelidir.sed, eşleşme bulunduğunda tüm satırı değiştir
26
A
cevap
40
Bunlardan biriyle yapabilirsiniz:
sed 's/.*six.*/fault/' file # check all lines
sed '/six/s/.*/fault/' file # matched lines -> then remove
O six
içeren tam bir çizgi alır ve fault
değiştirir.
Örnek:
$ cat file
six
asdf
one two six
one isix
boo
$ sed 's/.*six.*/fault/' file
fault
asdf
fault
fault
boo
Bu Daha genel Replace whole line containing a string using Sed
için this solution dayanan, bir ifade sed '/match/s/.*/replacement/' file
kullanabilir. Bu, match
içeren satırlarda sed 's/match/replacement/'
ifadesini gerçekleştirir. Senin durumunda bu olacaktır:
sed '/six/s/.*/fault/' file
Ne 'bir veya iki altı ila sekiz 1103 dört' var ve biz bizim "kötü" olarak 'sekiz' ve 'onbir' dahil istiyorsanız kelimeler?
Bu durumda birden koşulları için -e
kullanabilirsiniz: vb
sed -e 's/.*six.*/fault/' -e 's/.*eight.*/fault/' file
ve.
Ya da:
sed '/eight/s/.*/XXXXX/; /eleven/s/.*/XXXX/' file
3
Bu (GNU sed) için işe yarayabilecek:
sed -e '/six/{c\fault' -e ';d}' file
ya: cevaplar Üstü
sed '/six/{c\fault'$'\n'';d}' file
2
sadece söz, benim için iyi çalıştı alternatif yol
M Tek desen atch ve yenisi ile değiştirin:
sed -i '/six/c fault' file
Maç çoklu desen ve yenisi ile değiştirin (bitiştirmek komutlar):
sed -i -e '/one/c fault' -e '/six/c fault' file
İlgili konular
- 1. Tüm satırı değiştir cmd
- 2. PHP Form: hata bulunduğunda tablo verilerini değiştir
- 3. Normal ifadeyle eşleşme satırı sonu
- 4. Eşleşen bir satırı, yukarıdaki satırı ve altındaki satırı sed kullanarak nasıl silebilirim?
- 5. sed satırı aralığı, ancak son satır
- 6. sed arama ve dizeleri değiştir/içeren içeren/
- 7. geri arama işlevini eşleşme ile değiştir
- 8. Eşleşen metni bul ve sonraki satırı değiştir
- 9. Sed, neden tüm oluşumları değiştirmez?
- 10. bash script sed komutu beklenmedik EOF ile eşleşme aranırken "" '
- 11. Tüm satırlar için eşleşme sayısı
- 12. Bulunduğunda gizli yazı göster
- 13. sed/regex
- 14. Tüm Aktivite Dilini Değiştir
- 15. Grubun tüm oluşumlarını değiştir
- 16. Java 8 paralel akış + anyMatch - iş parçacığı bir eşleşme bulunduğunda kesintiye uğruyor mu?
- 17. Diğer tüm satırlar sed ile nasıl kaldırılır?
- 18. Julia dataframe tüm satırı
- 19. dojo, DataGrid üstbilgi satırı rengini değiştir
- 20. Belirli bir satıra boşluk içeren sed boşluk satırı
- 21. Belirli bir satırdan sonra sed kullanarak her ikinci satırı yazdırma
- 22. Tüm Metin satırlarını Ters Metinle değiştir
- 23. Tüm satırın kalınlığını değiştir geom_boxplot()
- 24. javascript seçimi tüm tarayıcılar değiştir
- 25. Tüm kelime olmayan karakterleri değiştir:? * + #
- 26. PCRE Regex to SED
- 27. Arama/değiştirme için Notepad ++ içindeki tüm satırı nasıl eşleştirebilirim?
- 28. nasıl sed
- 29. Özyinelemelerde özyinelemeli SED
- 30. Bir yazıyı değişkenle değiştir
Eğer 'grep -v' düşündünüz mü? – xato