bash - pipe one long line as multiple lines -


say have bunch of xml files contain no newlines, contain long list of records, delimited </record><record>

if delimiter </record>\n<record> able cat *.xml | grep xyz | wc -l count instances of records of interest, because cat emit records 1 per line.

is there way write something *.xml | grep xyz | wc -l something can stream out records 1 per line? tried using awk couldn't find way avoid streaming whole file memory.

hopefully question clear enough :)

this little ugly, works:

sed 's|</record>|</record>\ |g' *.xml | grep xyz | wc -l 

(yes, know make little bit shorter, @ cost of clarity.)


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -