PS-Ausgabeformatierung verwenden: 
 
ps -A -o pid
 Die Ausgabeformatierung des Befehls ist die beste Option. Die Option o steuert die Ausgabeformatierung. Ich habe unten einige der Argumente aufgelistet, siehe 'man ps' für den Rest (um mehrere zu verwenden, wäre es -o pid,cmd,flags ). 
KEY   LONG         DESCRIPTION
   c     cmd          simple name of executable
   C     pcpu         cpu utilization
   f     flags        flags as in long format F field
   g     pgrp         process group ID
   G     tpgid        controlling tty process group ID
   j     cutime       cumulative user time
   J     cstime       cumulative system time
   k     utime        user time
   o     session      session ID
   p     pid          process ID
 Awk oder Cut wäre besser, um Spalten zu bekommen: 
 Im Allgemeinen möchten Sie keinen Regex zum Auswählen der ersten Spalte, Sie möchten ihn an cut oder awk weiterleiten, um die erste Spalte auszuschneiden, wie:
ps ax | awk '{print $1}'
 Regex ist eine Option, wenn nicht die beste: 
 Wenn Sie Regex verwenden würden, könnte es so aussehen:
ps ax | perl -nle 'print $1 if /^ *([0-9]+)/'
$1 gibt nur das aus, was in der Klammer gefunden wurde. ^ verankert das am Anfang der Zeile. Leerzeichen Stern bedeutet, dass optionale Leerzeichen vor der Nummer zulässig sind. [0-9]+ bedeutet eine oder mehrere Ziffern. Aber ich würde Regex für diese spezielle Aufgabe nicht empfehlen, sehen Sie warum? :-)
ps ax | awk '{ print $1; }'
Verwenden Sie das -o wechseln, um eine Ausgabe im benutzerdefinierten Format zu haben
ps -o pid
Der schlechte Weg, sed zu verwenden, wie Sie ausdrücklich gefragt haben, kann sein
ps -ax | sed 's#^\( *[0-9]\+\) .*$#\1#'