Здравствуйте, подскажите пожалуйста, как при фильтрации вывода с помощью grep можно выводить также и названия столбцов? Например, команда lsof |more выводит название столбцов
lsof | sed -n '1p;/nginx/p' — это общее решение для замены grep. lsof -c nginx — это более эффективное частное решение для данного конкретного случая.
P. S. А если "nginx" ищете не в команде, а в имени файла, то вообще не ту команду выбрали. Используйте fuser.
P. P. S. Часто замечаю, что админы любят использовать grep везде, где только можно, даже не задумываясь о том, что задача решается без него намного проще и эффективнее. Советую всегда начинать с чтения мана той команды, вывод которой собрались грепать. Весьма вероятно, что там уже предусмотрена какая-то фильтрация.
lsof | sed -n '1p;/nginx/p' — это общее решение для замены grep.
Интересно, а в чём выгода может быть? По идее, sed тоже ведь будет парсить текст. Могу предположить, что grep будет по умолчанию гонять регулярку, а sed - просто поиск подстроки. В этом смысл?
Интересно, а в чём выгода может быть? По идее, sed тоже ведь будет парсить текст. Могу предположить, что grep будет по умолчанию гонять регулярку, а sed - просто поиск подстроки. В этом смысл?
Нет, в обоих случаях будет регулярка. Но она проще, чем та, что Вы предложили, и дополнительно будет выведена только первая строка, но не какая-то ещё, в которую почему-то затесалось буквосочетание "COMMAND".
А вообще решений можно много придумать, это просто то, что пришло мне в голову в первую очередь. Ну и ещё люблю поломать людям шаблон, показав, что можно жить без grep. ☺