首页 > 系统相关 >Shell(Linux)手册-awk

Shell(Linux)手册-awk

时间:2023-06-02 16:35:23浏览次数:84  
标签:bin use shell Shell awk Linux root bash

资料来源

awk知识点总结 | 骏马金龙
精通awk系列 | 骏马金龙
linux awk 命令使用详解 | 元宇宙-Metaverse
Linux awk 命令 | runoob

基础知识

格式化文本文件,对文本文件进行更复杂的加工处理、分析
Awk自动地搜索输入文件,并把每一个输入行切分成字段。许多工作都是自动完成的,例如读取每个输入行、字段分割、存储管理、初始化等。在AWK中不需声明变量数据类型,它内置字符串类型和数值类型。

awk [选项参数] 'script' var=value file(s)

awk [选项参数] -f scriptfile var=value file(s)

awk -F':' '$7 == "/bin/bash"{print "who use bash shell: ",$1}' /etc/passwd
这个 awk 命令用于查找使用 bash shell 的用户。下面是具体解释:

  • -F':' 表示使用冒号作为字段分隔符。
  • $7 == "/bin/bash" 表示匹配第 7 个字段等于 /bin/bash 的行。
  • {print "who use bash shell: ",$1} 表示打印符合条件的行的第 1 个字段,即用户名,以及带提示信息的字符串 "who use bash shell: "。
  • /etc/passwd 是需要处理的文件路径。
    假设有一个 /etc/passwd 文件,内容如下:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
testuser:x:1000:1000:testuser:/home/testuser:/bin/bash

结果如下:

who use bash shell: root
who use bash shell: testuser

可以看到,输出了使用 bash shell 的用户,即root和testuser。

(指定一个符号或者正则为分隔字段的标志(-F':'),设定好匹配字段需要匹配的文本。用大括号区分执行命令,输入执行要求和字段(如{print $1,$2}),最后输入需要匹配文本的文件。)

标签:bin,use,shell,Shell,awk,Linux,root,bash
From: https://www.cnblogs.com/mugetsukun/p/17449368.html

相关文章

  • linux sh脚本启动springboot
    1、restart.sh#!/bin/bashAPP_NAME=xxxxx.jar#定义JAVA程序名LOG_FILE="$APP_NAME.log"#定义日志文件名称#查询进程并终止PID=`ps-ef|grep$APP_NAME|grep-vgrep|awk'{print$2}'`kill-9$PIDecho"$APP_NAME的进程$PID已经终止"#启动jar包,指......
  • shell遍历当前目录下的文件,用去掉文件后缀的字符串替换文件中的文本
    今天写了一个shell,遍历当前目录下的文件,用每个文件的文件名去掉后缀的字符串替换文件中的一段字符串。 脚本如下:#!/bin/bashfile=`ls*.html`;echo$fileforitemin$filedofilename=${item%.*}echo$filenamesed-i"s/search('channel')/search('${fi......
  • Qemu仿真----(13)运行Alpine Linux Rootfs
    平台:ubuntu-22.04-desktop-amd64.对象:alpinelinuxrootfs、qemu.文件:linux-6.1.26.tar.xz、alpine-minirootfs-3.18.0-aarch64.tar.gz.本例通过qemu运行alpinerootfsforarm64。1.安装依赖$sudoaptinstallqemu-user-staticqemu-system-aarch64gcc-aarch64-linux-g......
  • linux服务器cache占用内存过高导致内存不足
    问题描述linux服务器内存不足触发监控报警。K8S在创建pod之后启动失败,日志报错如下: 问题检查登录服务器发现服务器8G内存正在被使用的和空闲内存大概4G,还有大概4G被cache占用   这个cache占用了大量内存,那么这个cache时干什么用的?Linux中的缓存称为PageCache。它......
  • Linux系统下提升进程优先级的办法
    与别人共用工作站或者集群进行大型运算,比较愁人,老是与别人分享资源,太蛋疼,所以找了个小妙招,可以试用一下。 Linux系统进程的优先级取值:-20到19,数越大优先级越低。 可以通过top命令来查看,NI那一列。 改变进程的优先级的方法有两种: www.2cto.com 1,top命令。输入r,然后......
  • Linux基础(七)
    推荐步骤:在Centos01主机上添加Linux磁盘,指定磁盘空间大小30G,创建三个三个分区,将三个分区转换为LVM逻辑卷将三个分区添加到物理卷,创建卷组名字hb3051将三个物理卷添加到卷组,指定逻辑卷名字为自己名字全屏,指定逻辑卷磁盘空间为20G,格式化LVM为xfs文件系统创建目录/lvm,修改/etc/fstab文......
  • Linux(八)
    推荐步骤:Centos01添加一块40G磁盘,创建分区,创建分区挂载目录/benet,设置开机自动挂载Centos01的sda磁盘的前512字节备份到/benet/name.mbr.bak,模拟MBR程序故障进入到急救模式恢复备份的mbr程序,将grub引导菜单备份到/benet目录模拟Centos01密码遗忘进入急救模式修改root密码远程登录远......
  • Linux(九)
    推荐步骤:进程管理,使用yum安装Apache服务,使用命令启动Apache服务,查看Apache服务运行状态获取Apache的父进程和子进程信息至少通过两种方式查看父子进程信息,使用kill命令杀死进程确认进程被杀死使用命名启动Apache服务,查看服务运行状态使用killall命令通过服务名字杀死进程使用vim命......
  • Qemu仿真----(12)运行Void Linux Rootfs
    平台:ubuntu-22.04-desktop-amd64.对象:voidlinuxrootfs、qemu.文件:linux-6.1.26.tar.xz、void-aarch64-ROOTFS-20221001.tar.xz.本例通过qemu运行voidlinuxrootfsforarm64。1.安装依赖$sudoaptinstallqemu-user-staticqemu-system-aarch64gcc-aarch64-linux-gnu......
  • Linux(十)
    推荐步骤:锁定密码和账户信息配置文件查看文件锁定状态和解锁账户密码文件设置当前用户注销清空历史命令,设置当前用户登录系统2分钟不操作自动注销,创建自己名字用户设置密码,设置自己名字用户10天后到期使用su命令从管理员root切换到自己名字用户,从自己名字用户切换到root用户携带用......