За исключением того убеждения, чувствуя, что я должен обновить компьютеры, я не видел бы оснований для спешки. Для домашнего использования безопасность не является так большой частью беспокойства... Вы выполняете те машины как какие-то серверы? Так или иначе 24 дня ни на что не похожи, так не волнуйтесь слишком много об этом. Быть из поддержки точно так же, как обновления установки остановки. Это не означает, что вещи начнут повреждаться (они уже повредились бы), или уязвимости начнут появляться (они уже были там). Это - просто вопрос, если кто-то смотрит и ожидать использования, которое будет обнаружено в тот крошечный период времени и начнет атаку против Вас. Необходимо ли спросить себя, серьезно, Вы знаете такого человека?
С -d " "
, разделитель полей - один (и только один) пробел. Вопреки разделению слова оболочки, cut
не рассматривает располагают с интервалами несколько отличающийся, чем какой-либо другой символ. Так cut -d " " -f2
возвраты ""
в root 19
, точно так же, как это возвратилось бы ""
для cut -d: -f2
в root:::19
.
Вам были бы нужны к любому сжатию пробелы для преобразования любой последовательности пространства в одно пространство:
ps aux | grep ata | tr -s ' ' | cut -d ' ' -f2
Или используйте awk
где в его режиме плевания значения по умолчанию, это не использует разделитель, но разделяет на список последовательностей несимволов пробела:
ps aux | awk '/ata/{print $2}'
В этом случае, хотя, можно хотеть использовать:
pgrep -f ata
Или по крайней мере:
ps -eo pid= -o args= | awk '/ata/{print $1}'
Соответствовать против аргументов только.
Использование:
ps aux | awk '/ata/{print $2}'
cut
команда, которую Вы используете, не дает желаемый вывод, поскольку существует больше чем одно пространство между столбцами.
cut
может не обработать разделители многобайтового символа, но другой как toolchest's семейной реликвии, или ksh93 встроенные делают. Так же некоторые awk
реализации как mawk
не поддерживайте многобайтовые символы очень хорошо (попытка mawk -F'[áóíúýé]' '{print $2}'
например)
– Stéphane Chazelas
10.04.2013, 02:15
cut
чтобы иметь подстановочный знак располагают аргумент с интервалами... (Т.Е. сокращение-d '\s*') – Eddie B 27.04.2017, 17:24tr
для этогоtr -s '[[:space:]]' '[\t*]' | cut ...
или используйтеawk
. – Stéphane Chazelas 27.04.2017, 17:31