Linux 简单使用awk命令

我使用awk命令时,用的次数最多的是从stdin或文件里选取几列输出

awk的print语句:

例子1: ps和awk组合

# 输出ps aux的标题行
root@hgdm:~/ls_data# ps aux | head -n 1
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

# grep -v '%CPU'过滤掉含%CPU的全部行(即: 标题行)
# awk选取第1列、第2列、第3列、第4列输出
# sort -k3 -r按输入的第3列降序排序
root@hgdm:~/ls_data# ps aux | grep -v '%CPU' | awk '{ print $1, $2, $3,$4  }' | sort -k3 -r  | head -n 10
root 659890 2.3 0.8
mysql 994722 0.5 6.9
helper 1117825 0.4 0.6
helper 1117760 0.4 0.6
helper 1117730 0.4 0.6
helper 1117804 0.3 0.7
helper 1117832 0.3 0.6
helper 1117814 0.3 0.6
helper 1117811 0.3 0.6
helper 1117807 0.3 0.6
Linux 简单使用awk命令

很久之前,在python celery文档里见过下面的这个命令,正是因为当时看不懂这个命令,才开始浅学awk和xargs。

ps auxww | grep 'celery worker' | grep -v " grep " | awk '{print $2}' | xargs kill -9

例子2: ls和awk组合

# 发现ls -l输出的第一行不是想要的
root@hgdm:~/ls_data# ls -l
total 24
drwxr-xr-x 2 root root 4096 Apr  4 14:10 dir1
drwxr-xr-x 2 root root 4096 Apr  4 14:10 dir2
drwxr-xr-x 2 root root 4096 Apr  4 14:10 dir3
-rw-r--r-- 1 root root   74 Apr  4 14:30 file1.txt
-rw-r--r-- 1 root root   74 Apr  4 14:31 file2.txt
-rw-r--r-- 1 root root   74 Apr  4 14:33 file3.txt

# 过滤掉ls -l输出的第一行
root@hgdm:~/ls_data# ls -l | grep -v '^total'
drwxr-xr-x 2 root root 4096 Apr  4 14:10 dir1
drwxr-xr-x 2 root root 4096 Apr  4 14:10 dir2
drwxr-xr-x 2 root root 4096 Apr  4 14:10 dir3
-rw-r--r-- 1 root root   74 Apr  4 14:30 file1.txt
-rw-r--r-- 1 root root   74 Apr  4 14:31 file2.txt
-rw-r--r-- 1 root root   74 Apr  4 14:33 file3.txt

# 选取输出每行的第1个字段、第9个字段、第3个字段、第4个字段
root@hgdm:~/ls_data# ls -l | grep -v '^total' | awk '{ print "权限="$1, "名称="$9, "属主="$3, "属组="$4 }'
权限=drwxr-xr-x 名称=dir1 属主=root 属组=root
权限=drwxr-xr-x 名称=dir2 属主=root 属组=root
权限=drwxr-xr-x 名称=dir3 属主=root 属组=root
权限=-rw-r--r-- 名称=file1.txt 属主=root 属组=root
权限=-rw-r--r-- 名称=file2.txt 属主=root 属组=root
权限=-rw-r--r-- 名称=file3.txt 属主=root 属组=root
Linux 简单使用awk命令

ls和awk组合

展开阅读全文

页面更新:2024-04-25

标签:命令   组合   字段   空格   语句   例子   权限   次数   名称   简单   标题

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top