'foo' içeren her satırı kaldırabilir miyim?


2

Bir yerde şunu okudum:

sed -n -e '/foo/d' myinputfile.txt

myoputfile.txt dosyasındaki tüm 'foo' oluşumlarını kaldırır.

Ancak bu benim için işe yaramıyor. Ben başlı bir noob ve bu işe yarayacak gibi görünmüyor. Temel olarak, girdi dosyasındaki bir kelimeyi kaldırmak için her satırda sed'i çağıran bir bash betiği çalıştırmaya çalışıyorum ve çalıştırdığımda hiçbir şey olmuyor.

Teşekkürler :)

Yanıtlar:


3

Yanlış okudunuz

Ancak, sed ifadesinin kendisi doğruysa, bayraklar doğru değildir. sed normalde her bir satırı stdout'a işlerken çıktı verir, ancak bunu -nbastırır. Sonuç, hiçbir hattın çıkmamasıdır. -nDoğru çıktı istiyorsanız, çıkarmanız gerekir . Daha sonra bunu başka bir dosyaya yönlendirebilir ve bu dosyayı yerine taşıyabilirsiniz.


@ isildur belki sed'e seçenek ekleyebilirsiniz -i(yalnızca sed versiyonu değil el kitabını kontrol edin).
uzsolt
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.