首页 > 系统相关 >Linux三剑客(3)·awk

Linux三剑客(3)·awk

时间:2023-11-15 17:00:36浏览次数:27  
标签:sbin nologin etc awk Linux root localhost 三剑客

对文本和数据进行处理的编程语言

awk命令的功能是用于对文本和数据进行处理的编程语言。使用awk命令可以让用户自定义函数或正则表达式对文本内容进行高效管理,与sed、grep并称为Linux系统中的文本三剑客

语法格式:awk 参数 文件名

常用参数


-c

使用兼容模式

-C

显示版权信息

-e

指定源码文件

-f

从脚本中读取awk命令

-F

设置输入时的字段分割符

-v

自定义变量信息

-h

显示帮助信息

-m

对指定值进行限制

-n

识别输入数据中得到八进制和十六进制数

-O

启用程序优化

-v

定义一个变量并赋值

-V

显示版本信息

内置变量


变量名称

说明

ARGC

命令行参数个数

ARGV

命令行参数排列

ENVIRON

支持队列中系统环境变量的使用

FILENAME

awk浏览的文件名

FNR

浏览文件的记录数

FS

设置输入域分隔符

NF

浏览记录域的个数

NR

已读的记录数

OFS

输出域分隔符

ORS

输出记录分割符

RS

控制记录分割符

参考示例

仅显示指定文件中第1、 2列的内容(默认以空格为分割符)

[root@localhost ~]# awk '{print $2,$3}' /etc/fstab



/etc/fstab

Created by


Accessible filesystems,

See man


After editing

units generated


/ xfs

/boot xfs

none swap

以冒号为分隔符,显示第三列的内容

[root@localhost ~]# awk -F : '{print $3}' /etc/passwd

0

1

2

3

4

5

6

7

8

11

12

14

65534

81

999

193

59

998

997

996

以冒号为分隔符,显示/etc/passwd文件中所有UUID号码(第三列)大于500的用户信息

# 打印出uuid大于500的用户信息

[root@localhost ~]# awk -F : '$3 > 500' /etc/passwd

nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin

systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin

polkitd:x:998:996:User for polkitd:/:/sbin/nologin

unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin

sssd:x:996:993:User for sssd:/:/sbin/nologin

rngd:x:995:992:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin


# 仅打印出uuid大于500的用户名和uuid号

[root@localhost ~]# awk -F : '$3 > 500''{print $3}' /etc/passwd

65534

999

998

997

996

995

仅显示指定文件中含有关键词root的内容

[root@localhost ~]# awk '/root/' /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin


[root@localhost ~]# awk '/root/{print}' /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

以冒号为分隔符,仅显示指定文件中最后一个字段的内容:

[root@localhost ~]# awk -F : '{print $NF}' /etc/passwd

/bin/bash

/sbin/nologin

/sbin/nologin

/sbin/nologin

/sbin/nologin

/bin/sync

/sbin/shutdown

/sbin/halt

/sbin/nologin

/sbin/nologin


标签:sbin,nologin,etc,awk,Linux,root,localhost,三剑客
From: https://blog.51cto.com/520cyy/8398922

相关文章

  • Linux_C环境编程:时间日期函数总结
    摘自:https://blog.csdn.net/u010429831/article/details/122722187一、时间日期类型Linux下常用的时间类型有6个:time_t,clock_t,structtimeb,structtimeval,structtimespec,structtm1.1time_t类型time_t是一个长整型,一般用来表示从1970年1月1日0时0分0秒以来的秒数......
  • Linux怎样到切换到超级用户
    1.切换为root超级用户的命令为:sudosu12.切换普通用户的命令为suusername1......
  • Linux用户管理
    1.添加用户useradd用户名自动创建和用户名同名的家目录,在home目录里useradd-d指定目录用户名给新创建的用户指定家目录2.指定/修改密码passwd用户名pwd显示当前用户所在的目录3.删除用户userdel用户名删除用户,但是保留家目录userdel-r......
  • Linux系统基础之locate命令
    一、locate命令介绍Linuxlocate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。二、locate的特点1.locate基于数据库的查询,速度很快,但不是实时的查询。2.locate是模糊查询3.需要对文件的目录有rx的权限三、loca......
  • Windows和Linux服务器安装OnlyOffice服务
    1.Windows安装OnlyOffice服务1.1 启用Hyper-V启用Hyper-V以在Windows10上创建虚拟机:详情参考微软官方教程......
  • 【小技巧】 如何利用 wget 命令在 Linux 系统上下载自己的 OneDrive 上的大文件
    最近有一个在Linux系统上利用wget命令下载自己账号的OneDrive上的大文件的需求。在网上找了许多方法(利用F12之类的)都不是很灵,最后终于探索出了一个非常简单的方法。方法通过360浏览器X登录OneDrive,进入需要分享的文件界面。(这里吐槽一下Chrome的下载器,做得实在不怎......
  • Linux服务器修改java项目内存大小
    找到启动脚本:找到你的Java项目的启动脚本,这通常是一个.sh(Shell脚本)文件。编辑脚本:使用文本编辑器(比如vim或nano)打开脚本文件。设置Java参数:在脚本文件中找到启动Java的命令行,并添加或修改相关的JVM参数,如下所示:bash#在启动Java的命令行中添加或修......
  • 深度解剖Linux权限的概念
    Linux权限系统是其安全性的基石,它允许系统管理员和用户对文件和目录进行精细的控制。在深度解剖Linux权限的概念时,我们需要涵盖以下主题:1.**文件系统基础**  -文件系统结构:Linux文件系统以树状结构组织,包括根目录、子目录和文件。  -文件属性:每个文件都有一组属......
  • Linux依次执行多条命令
    在Linux中,无论是CentOS还是Ubuntu,执行多条命令的方式基本相同,以下是几种常用的方法:方式符号描述分号,分隔符;依次执行,无视前一个命令的执行结果逻辑与&&只有当前一个命令成功执行时,才执行下一个命令逻辑或||当前一个命令失败时,才执行下一个命令管道|将......
  • Linux openssh问题解决: Permission denied, please try again
    1.vim打开sshd_config文件vim/etc/ssh/sshd_config2.搜索PermitRootLogin ,将 PermitRootLoginprohibie-password 改为如下:PermitRootLoginyes  ......