awk是一个强大的字符串处理命令, 但是我用到的只有一种情况, 就是获取一个行中特定的子串.
实例:
获得目前用户所有的进程id, 然后用来kill什么的.
ps ux , 获得当前用户所有进程信息
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
user 2335 0.0 0.1 95532 1168 ? S 20:34 0:00 sshd: user [priv]
user 3332 0.3 0.2 89320 2060 ? R 20:34 0:00 sshd: user @pts/0
user 3333 5.6 0.7 28232 7736 pts/0 Ss 20:34 0:00 -bash
user 3432 0.0 0.1 19832 1260 pts/0 R+ 20:34 0:00 ps ux
最终就是
ps ux|awk -F ' ' '{print $2}'
其中-F 后面跟的是用来拆分的字符, 用这个字符串来分割一行, 类似于split, $2代表split结果数组的第二个.
结果就是:
PID
2335
3332
3333
3435
3436