Posta kayıtlarını okumak inanılmaz zor. Komut satırında basılan her satır arasında nasıl boş satır çıktırabilirim? Örneğin, kütüğü elden tutuyorum. Bu şekilde, çok sayıda sarılı çizginin kafası karışmaz.
Posta kayıtlarını okumak inanılmaz zor. Komut satırında basılan her satır arasında nasıl boş satır çıktırabilirim? Örneğin, kütüğü elden tutuyorum. Bu şekilde, çok sayıda sarılı çizginin kafası karışmaz.
Yanıtlar:
sed G
# option: g G Copy/append hold space to pattern space.
Gsık kullanılmaz, ancak bu amaç için güzeldir. sed , iki tampon alanını korur: “desen alanı” ve “tutma alanı”. Tarafından işleme hatları sed çeşitli komutlar (içeriği üzerinde işlem olarak genellikle model alanı akar s///, pvb); tutma alanı boş başlar ve yalnızca bazı komutlar tarafından kullanılır.
GKomut Yeni satır ve desen uzaya tutma alanı içeriğini ekler. Yukarıdaki sed programı hiçbir zaman tutma alanına Gkoymaz , bu nedenle işlenen her satıra yalnızca yeni bir satır ekler.
-ezamandan beri ayrılabiliriz, çünkü orada sadece bir komut argümanına ihtiyacımız var.
Peşinde olduğun şey bu mu?
grep SPAM mail.log | while read -r line; do echo; echo $line; done
read -rters eğik çizgi karakterlerini özel olarak ele almamak için kullanmak isteyeceksiniz .
Bakmaktan başka bir şey yoksa, onları bir metin dosyasına göndermeyi ve bir metin düzenleyici ile açmayı tercih ederim, böylece satırları sarmak veya koymamak için kolayca ayarlayabilir ve kolayca arama yapabilirsiniz ... istenmeyen satırları vb. çok fazla komut yazmanız gerekiyor.
cat file.log > log.txt
ve gedit log.txtveya nano gibi bir terminal editörü
Düzenleme: ya da cp file.log log.txtelbette ki elbette daha kolay ve hızlı ... KeithB yorum sayesinde
catve değil cp?
cpdaha kolay ve daha hızlı olurdu! ... lol - Ben ilgilenen diğer cevapları okuyordum grepve awkbu catşekilde yazdım ama bunu düzeltirim, teşekkürler
whatever | sed Ghile yapmak gerekir.