RedHat运维-Linux文本操作基础-AWK基础

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考同行的,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。

二. awk

  1. 使用awk命令,过滤出/etc/passwd文件中,包含有字符串"mail"的所有行,命令为_______________________________;

  2. 使用awk命令,过滤出/etc/passwd文件中,包含有字符串"opensuse"的所有行,命令为_____________________________;

  3. 使用awk命令,过滤出/etc/passwd文件中,包含有字符串"mail"或者"opensuse"的所有行,命令为__________________________;

  4. 使用awk命令,过滤出/etc/passwd文件中,字符串"mail"打头或者"opensuse"打头的所有行,命令为_______________________;

  5. 假设当前系统的工作目录为/etc/firewalld,如果想结合grep命令,打印出在/etc/firewalld/firewalld.conf中,不以字符"#"开头,且不是空行的所有行,并且用"="来分割,输出第一和第二列,并且尽可能美观,则命令为___________________________________;

  6. 假设当前系统的工作目录为/etc,如果想打印出passwd中包含有字符串"mail"或者"opensuse"的所有行,用冒号分割,输出第一第四列,并且让结果尽可能美观,则命令为____________________________________;

  7. 假设当前系统的工作目录为/etc,如果想打印出group中包含有字符串"opensuse"的所有行,用冒号分割,输出第一第三列,并且让结果尽可能美观,则命令为_____________________________________;

  8. 假设当前系统的工作目录为/etc,如果想打印出shadow中包含有字符串"opensuse"或者"OPen"的所有行,用冒号分割,输出第一第二列,并且让结果尽可能美观,则命令为________________________________;

  9. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,筛选出第三列值大于500的行,并输出这些行的第一第三列值,并且让结果尽可能美观,则命令为___________________________________;

  10. 假设当前系统的工作目录为/etc,如果想打印出shadow中包含有字符串"opensuse"或者"OPen"的所有行,用冒号分割,输出行号、第一列和第二列,并且让结果尽可能美观,则命令为________________________________;

  11. 假设当前系统的工作目录为/etc,如果想打印出shadow中包含有字符串"opensuse"或者"OPen"的所有行,用冒号分割,输出行号、本行所有内容、第一列内容,并且让结果尽可能美观,则命令为_______________________________;

  12. 通过什么命令组合,可以求出passwd中以冒号分割时每一行字段的个数?________________________________;

  13. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出第七行及其之后的所有的行号以及第一列值,并且让结果尽可能美观,则命令为_________________________________________;

  14. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出第七行及其之后,第三十行及其之前的所有的行号以及第一列值,并且让结果尽可能美观,则命令为_________________________________________;

  15. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出第七行及其之后,第三十行及其之前,且第三列值大于475的所有的行号以及第一列值,并且让结果尽可能美观,则命令为_________________________________________;

  16. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出每行的行号、第一列内容及最后一列内容,并且让结果尽可能美观,则命令为_______________________________________;

  17. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出每行的行号、第一列内容及倒数第三列内容,并且让结果尽可能美观,则命令为_______________________________________;

  18. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,但不使用-F选项,输出每行的行号、第一列内容及倒数第三列内容,并且让结果尽可能美观,则命令为_____________________________________;

  19. 关于双引号与单引号的使用,在grep中,尽量全部都使用单引号,在awk中,当需要调整FS的值的时候,必须使用___________(你懂的)。

  20. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,但不使用-F选项,输出每行的行号、第一列内容及倒数第三列内容,用"+"隔开,则命令为_____________________________________;

  21. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出每行的第一第三列内容,同时添加一些自定义字符串,使得输出的结果大致如下所示:

User root has id: 0

User messagebus has id: 499

User tftp has id: 498

则命令为_____________________________________;

  1. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,过滤出包含"root"到包含"mail"字符串之间的所有行,并且输出每行的第一第三列内容,则命令为___________________________________;

  2. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,过滤出包含"root"到包含"mail"字符串之间的所有行,并且输出每行的第一第三列内容,格式要尽量美观,则命令可以为___________________________________;

  3. 如何获取环境变量的所有名字?

  4. 如何获取当前主机上的可用内存?

二. awk

  1. awk '/mail/' /etc/passwd

  2. awk '/opensuse/' /etc/passwd

  3. awk '/mail|opensuse/' /etc/passwd

  4. awk '/^mail|^opensuse/' /etc/passwd

  5. grep -Ev '^#|^' firewalld.conf \| awk -F '=' '{print 1, $2}' | column -t

  6. awk -F ':' '/mail|opensuse/{print 1, 4}' /etc/passwd

  7. awk -F ':' '/opensuse/{print 1, 3}' /etc/group | column -t

  8. awk -F ':' '/opensuse|OPen/{print 1, 2}' /etc/shadow | column -t

  9. awk -F ':' '3\>500{print 1, $3}' /etc/passwd | column -t

  10. awk -F ':' '/opensuse|OPen/{print NR, 1, 2}' /etc/shadow | column -t

  11. awk -F ':' '/opensuse|OPen/{print NR, 0, 1}' /etc/shadow | column -t

  12. awk -F ':' '/root/{print NF}' /etc/shadow

  13. awk -F ':' 'NR>=7{print NR, $1}' /etc/passwd | column -t

  14. awk -F ':' 'NR>=7&&NR<=30{print NR, $1}' /etc/passwd | column -t

  15. awk -F ':' 'NR>=7&&NR<=30&&NF>475{print NR, $1}' /etc/passwd | column -t

  16. awk -F ':' '{print NR, 1, NF}' /etc/passwd | column -t

  17. awk -F ':' '{print NR, 1, (NF-2)}' /etc/passwd | column -t

  18. awk 'BEGIN{FS=":"}{print NR, 1, (NF-2)}' /etc/passwd | column -t

  19. 双引号

  20. awk 'BEGIN{FS=":";OFS="+"}{print NR, 1, (NF-2)}' /etc/passwd

  21. awk 'BEGIN{FS=":"}{print "User", 1, "has id:", 3}' /etc/passwd

  22. awk -F ':' '/root/, /mail/{print 1, 3}' /etc/passwd

  23. awk -F ':' '/root/, /mail/{printf "%-16s %-20s \n", 1, 3}' /etc/passwd

  24. export | awk -F'[ =]' '{print $3}'

  25. free -m | awk 'NR==2{print $7}'

相关推荐
一个平凡而乐于分享的小比特1 小时前
Linux内核中的container_of宏详解
linux·container_of
csdn_aspnet7 小时前
TCP/IP协议栈深度解析:从基石到前沿
服务器·网络·tcp/ip
lcreek8 小时前
Linux信号机制详解:阻塞信号集与未决信号集
linux·操作系统·系统编程
shandianchengzi8 小时前
【记录】Tailscale|部署 Tailscale 到 linux 主机或 Docker 上
linux·运维·docker·tailscale
John Song8 小时前
Linux机器怎么查看进程内存占用情况
linux·运维·chrome
sichuanwuyi8 小时前
Wydevops工具的价值分析
linux·微服务·架构·kubernetes·jenkins
持戒波罗蜜9 小时前
ubuntu20解决intel wifi 驱动问题
linux·驱动开发·嵌入式硬件·ubuntu
不做无法实现的梦~9 小时前
使用ros2来跑通mid360的驱动包
linux·嵌入式硬件·机器人·自动驾驶
梁辰兴9 小时前
计算机网络基础:虚拟专用网
服务器·网络·计算机网络·vpn·虚拟专用网·计算机网络基础·梁辰兴
点云SLAM9 小时前
C++内存泄漏检测之Windows 专用工具(CRT Debug、Dr.Memory)和Linux 专业工具(ASan 、heaptrack)
linux·c++·windows·asan·dr.memory·c++内存泄漏检测·c++内存管理