Kiedy robię
ps aux
Wyjście ładnie przycina się do szerokości mojego terminala, dzięki czemu długie opisy procesów nie zajmują więcej niż jednej linii. Jednak jeśli wpuszczę go w coś innego, powrócą długie linie.
Zdaję sobie sprawę, że jest to właściwe zachowanie, ponieważ ps nie jest już wyprowadzany do tty, a całe wyjście może być kluczowe dla przetwarzania. To, czego chcę, to kolejne użycie, które przywróci dane wyjściowe, gdy skończę.
Chcę być w stanie zrobić coś takiego:
ps aux | grep -v 'www-data' | nowrap
nowrap
to wyimaginowane narzędzie, którego szukam. Zapewni to przycięcie długich linii, a nie przepełnienie.
Czy jest coś takiego?
cut
najpierw, agrep
potem.expand
i zredagowałem odpowiedź, aby ją uwzględnić. Poprawia tabMożesz przyciąć dane wyjściowe za pomocą
cut
. na przykładgdzie
${COLUMNS}
zapewnia bieżącą szerokość terminala.resize
Polecenie to może być wykorzystywane do ponownego wygenerowania bieżącą szerokość:Jeśli chcesz to zautomatyzować, możesz zawinąć w skrypt
nowrap
:źródło
Oprócz tego, co powiedział nagul, możesz użyć w bash:
tput cols
aby uzyskać szerokość:
KOLUMNY = $ (tput cols)
źródło