Mam następującą ps
komendę, aby uzyskać określone właściwości wszystkich uruchomionych procesów wraz z niektórymi właściwościami:
ps --no-headers -exo "uname,ppid,pid,etime,%cpu,%mem,args"
Chcę mieć sformatowany plik w formacie CSV, aby móc go przeanalizować. Uwaga: umieściłem argumenty na końcu, aby ułatwić parsowanie; Nie sądzę, ,
aby istniał w żadnej innej kolumnie - popraw mnie, jeśli się mylę.
Jak usunąć białe znaki?
Ponieważ pierwsze 6 pól nie powinno zawierać pustych znaków (chyba że zezwalasz na nazwy użytkowników), możesz przetworzyć dane wyjściowe:
Tu przytoczyć ostatnie pole (args) po uszedłszy
"
s i\
s z\
.Tworzy dane wyjściowe takie jak:
źródło
Możesz używać
sed
zps
. Więc chcesz tutaj: -Ale zastanawiam się, czy byłoby to użyteczne, ponieważ
ps
samo wyjście ma wiele,
.źródło
,
którą umieściłem na końcu, jednak to rozwiązanie usunęłoby,
tę kolumnę, której nie chcę.tr ' ' ,
. Prawdopodobnie chcesztr -s ' ' ,
tutaj.