[linux] probleem met spaties aan begin van een regel

Paul Slootman paul+nospam op wurtel.net
Do Feb 20 16:10:23 CET 2020


On Thu 20 Feb 2020, paai wrote:
> > 
> > Anders wordt het al snel iets als
> >      ps | sed 's,^  *,,' | cut -f1 -d' '
> > als je per se cut wil gebruiken, maar of het met een extra process in de
> > pipeline er beter van wordt...
> > 
> > Of:
> > 
> >      ps | while read pid rest; do echo $pid; done
> > 
> > maar ik denk dat awk nog steeds sneller is.

> De laatste regel zou mijn voorkeur hebben, maar hoe krijg je $pid te pakken?
> De read wordt afaik in een subshell gelezen en die communiceert niet met de
> moeder-shell.

Hangt er van af wat je ermee wilt doen, dat noemde je niet. Je kunt
natuurlijk binnen de while loop je ding doen.

Als je er maar eentje zoekt, dan is een while loop natuurlijk niet
nodig:

    pid=$(ps -C rsyslogd | tail -n +2 | (read pid test; echo $pid))


Paul


Meer informatie over de Linux maillijst