背景
我正在运行SSH服务器,并且要删除此用户。我无法删除此用户,因为他当前正在运行一些我首先需要杀死的进程。
这是我当前正在使用的管道,以找出我当前正在使用的用户的所有进程ID:
ps -u user | awk '{print $1;}'
输出看起来像这样:
PID
2121
2122
2124
2125
2369
2370
我想用它kill -9
杀死所有进程,所以我可以这样删除这个愚蠢的用户:
ps -u user | awk '{print $1;}' | sudo xargs kill -9
但这由于PID
标题而无法正常工作:
kill: failed to parse argument: 'PID'
问题
我认为必须有一个简单的Unix命令才能删除输入的第一行。
我知道我可以使用tail
它,但是我不想计算输入中包含多少行来准确地确定要显示的行数。
我正在寻找类似head
或tail
反转的内容(而不是仅显示流的第一部分/最后一部分,而是显示流的开始/结束以外的所有内容)。
注意
我设法通过简单地| grep [[:digit:]]
在awk
命令后添加来解决此问题,但是我仍在寻找删除文件第一行的方法,因为我认为在其他情况下这将非常有用。
@steeldriver有趣!给出答案并解释它(
—
wefwefa3 2015年
awk
命令)如何工作。
NR
eg 排除标题记录(行)awk 'NR>1 {print $1;}'
。更好的选择-使用pgrep -u
或使用pkill -u