大家好,欢迎来到IT知识分享网。
之前写的文章如下:Linux 简单使用awk命令
awk “{ print $3 }”与awk ‘{ print $3 }’的区别
- awk “{ print $3 }” 不会输出输入数据的第3列,因为双引号的变量$3会事先被shell解析。
- awk ‘{ print $3 }’ 会输出输入数据的第3列,因为单引号里的变量$3不会被shell解析。
awk “{ print $3 }”的效果
decisionmaker@tdar-srv:~$ sudo docker images | grep "^
" | awk "{ print $3 }" | head -n 10
cacd883da894 3 days ago 761MB
c79ed053e535 3 days ago 761MB
21a60c91ac3a 3 days ago 584MB
be5b6f 3 days ago 470MB
2deea4c664c6 3 days ago 450MB
cf0ae83a80eb 5 weeks ago 2.3GB
ab7ce8 6 weeks ago 2.15GB
a29947cdabf9 2 months ago 1.03GB
38c97337ca10 2 months ago 1.03GB
7bfb2f106f75 2 months ago 1.03GB
awk ‘{ print $3 }’的效果
decisionmaker@tdar-srv:~$ sudo docker images | grep "^
" | awk '{ print $3 }' | head -n 10 cacd883da894 c79ed053e535 21a60c91ac3a be5b6f 2deea4c664c6 cf0ae83a80eb ab7ce8 a29947cdabf9 38c97337ca10 7bfb2f106f75
awk “{ print $3 }”与awk ‘{ print $3 }’的区别
当输入数据的列值含有空格时,awk输出的数据可能不符合预期
ecisionmaker@tdar-srv:~$ sudo docker images | head -n 10 REPOSITORY TAG IMAGE ID CREATED SIZE docker_flask_web latest a639e083bef9 3 days ago 761MB cacd883da894 3 days ago 761MB docker_django_web latest c08331dfd077 3 days ago 761MB c79ed053e535 3 days ago 761MB 21a60c91ac3a 3 days ago 584MB docker_php_php81 latest 191dcc3d38e0 3 days ago 883MB be5b6f 3 days ago 470MB 2deea4c664c6 3 days ago 450MB php 8.1-fpm 8c08df 13 days ago 449MB # awk '{print $5}' 不会输出SIZE那一列,因为SIZE前面那一列的列值(CREATE那一列)含有空格,而空格是awk默认的列与列之间的分隔符 decisionmaker@tdar-srv:~$ sudo docker images | grep "^ " | awk '{print $5}' | head -n 10 days days days days days weeks weeks months months months 只能采取折中方案,输出不含空格的列值:
# 输出不含空格的第1列,第3列,最后一列 decisionmaker@tdar-srv:~$ sudo docker images | grep "^
" | awk '{ print $1,$3,$NF }' | head -n 10
cacd883da894 761MB
c79ed053e535 761MB
21a60c91ac3a 584MB
be5b6f 470MB
2deea4c664c6 450MB
cf0ae83a80eb 2.3GB
ab7ce8 2.15GB
a29947cdabf9 1.03GB
38c97337ca10 1.03GB
7bfb2f106f75 1.03GB
当awk命令输入数据的列值含有空格时
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/92664.html