Grep çıkışını bir satırda tutmak?


4

Sizin için çok hızlı bir sorum var. Buradaki dökümantasyona ve siteye baktıktan sonra, eşleştirmenin her satırda aynı satırda çıkmasını engellemenin mümkün olup olmadığını merak ediyordum.

Örneğimde, altıgen basamağın her birini elde etmek için \xeb\x1a\x5e\x31\xc0\x88\x46\x07...kullanıyorum , vb . Biçiminde bir dize almam gerekiyor grep -oP "x\K(\S\S)").

Çıktı doğrudur, ancak her eşleşme kendi satırındadır. Bu bir sorun çünkü bu çıktıyı başka bir programa beslemem gerekiyor. Öyleyse yine, her bir eşleşmeyi herhangi bir dolgu maddesi olmadan arka arkaya koymanın bir yolu var mı?

Yanıtlar:


3

Çıkışı tr, örneğin

grep -oP "x\K(\S\S)") | tr -d '\n'

Bu ek bir işlem maliyeti, yani programınızı yavaşlatır. Bu bir problemse, sedveya kullanabilirsiniz awk.


Mükemmel! güzel çalıştı Daha sonra kullanmayı planlıyordu sedya awkama ben onları hiç kullanmadım ve şimdi sağ olanlar için dokümanlar okumak için biraz yorgunum.
btf1998

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.