linux常用命令

shell脚本常用命令

awk

awk 选项 '模式或条件 {操作}' 文件 1 文件 2 ...

常用的内部变量:

NF: 字段个数

NR: 当前的行号

复制代码
awk 'NR==1,NR==3 {print $1}' demo.txt # 输出一到三行
awk '(NR==1)&&(NR==3) {print $1}' demo.txt # 输出第一行和第三行
awk 'BEGIN {x=0};/^hello/{x++};END {print x}' demo.txt # 统计以hello开头的行数	

第三个是比较完整的用法。有BEGIN,有限制条件,有循环体,有END。

shell脚本数组@和*的区别

复制代码
"${数组变量[*]}": 加上双引号,bash会当成是一串字符串处理
${数组变量[*]}: 不加上双引号,bash会当成是数组处理
${数组变量[@]:加不加双引号bash都是当成数组处理

sort和uniq

sort是对输出内容进行排序,uniq是对输出内容的相邻行进行去重。

复制代码
sort -u demo.txt # 对demo.txt排序去重

uniq -c demo.txt # 对相邻行进行去重计数
uniq -d demo.txt # 显示相邻行重复的结果

xargs

将结果作为参数进行执行

复制代码
find -name '*.log' -print0 | xargs -0 rm  # 找到.log结尾的文件,拼接\0,执行的时候按\0进行分隔,然后删除文件
相关推荐
K·Herbert2 小时前
最新CentOS 7 yum源失效的解决方案(2025年6月)
linux·运维·centos
别骂我h3 小时前
部署KVM虚拟化平台
linux·运维·服务器
繢鴻3 小时前
紧急救援!Ubuntu崩溃修复大赛
linux·服务器·ubuntu
showmethetime3 小时前
优化nginx参数(基本通用参数)
运维·nginx
老六ip加速器3 小时前
获取ip地址安全吗?如何获取静态ip地址隔离ip
运维·网络·智能路由器
净心净意11 小时前
浅谈DaemonSet
运维·jenkins
Apex Predator18 小时前
jenkins流水线打包vue无权限
运维·jenkins
hujun861021 小时前
Ubuntu安装无线网卡
linux
Johny_Zhao21 小时前
CentOS Stream 8 高可用 Kuboard 部署方案
linux·网络·python·网络安全·docker·信息安全·kubernetes·云计算·shell·yum源·系统运维·kuboard
卖猪肉的痴汉1 天前
1.1 Linux 编译FFmpeg 4.4.1
linux·ffmpeg