Bootstrap

最全Linux中awk命令的一些常见用法_linux awk 指定多个(1),Linux运维布局优化之include、merge、ViewStub的使用

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

-F"分隔符"

默认是以空格为分隔符,可以像下面这样,不需要指定分隔符

awk '{ print $0 }' test

这个和cat test效果一样

接着查看下面几个的结果:

awk '{ print $1 }' test
awk '{ print $2 }' test
awk '{ print $3 }' test

如果是一个或多个空格的情况,需要将多个空格显示出来,如何处理?

cat t.txt
a b  c   d

这里分别是一个空格两个空格和三个空格

awk '{print $1$2$3$4}' t.txt #abcd
awk -F[[:space:]] '{print $1$2$3$4}' t.txt #a b  c   d

看出规律了吧,既然是一种模式匹配的语言,那这个跟正则表达式其实一样,每行默认是空格分隔符来进行隔开,然后就是进行分组,可以对每个分组进行各自获取与输出

当然也可以通过-F来指定分隔符,比如下面是通过"-",来对每行文本进行分隔:

awk -F"-" '{ print $1 }' test
awk -F"-" '{ print $2 }' test
awk -F"-" '{ print $3 }' test
awk -F"-" '{ print $4 }' test

指定多个分隔符

比如下面这个正则表达式,表示的是1个或多个的空格或"-“或”,"来隔开,其中[]后面的+号熟悉正则表达式知道,表示1个或多个

awk -F '[ -,]+' '{print $1" "$3}' test
'''
aaaa ccc
Tony-ChyiChin-GoodMan-Nice 
你好-中国 
VERY 
123456789 
I you
'''

其中这里的内容我修改了,增加了aaaa,bbb,ccc,ddd,eeee这样一行,尤其注意观察第一行和最后一行,可以看到第一行是逗号隔开了,最后一行是空格隔开,然后取第一个和第三个。

if条件

如果文本内容行数很多,我们可以选择性打印想要查看的行数内容

大于1行小于等于4行的所有内容,这里的NR就表示读取记录的行数

awk '{if(NR>1 && NR<=4) print $0}' test
'''
你好-中国
VERY GOOD
123456789
'''

BEGIN END

BEGIN END可以做一些统计,比如说统计账户数:

awk 'BEGIN {count=0;print "[start] user count is ",count}{count++;print $0;} END{print "user count is ",count}' /etc/passwd
'''
[start] user count is  0
root:x:0:0:root:/root:/bin/bash
......
user count is  41
'''

当然一行比较长的话,可以在一行的后面使用""反斜杠符号,这样就可以将其余部分写到下面一行来,比如统计上面test文件里的内容有多少行:

awk 'BEGIN{count=0;print "[start] line count is ",count} \
{count+=1;print $0} \
END{print "[end] line count is ",count}' test

关系运算符

布尔运算,逗号隔开是一个表达式,真为1,假为0

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

;