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进行分隔,然后删除文件
相关推荐
RisunJan4 分钟前
Linux命令-lastlog(显示系统中所有用户的最近一次登录信息)
linux·运维·服务器
wdfk_prog6 分钟前
[Linux]学习笔记系列 -- [drivers][base]syscore
linux·笔记·学习
小王努力学编程10 分钟前
LangChain—AI应用开发框架(认识模型)
linux·服务器·人工智能·机器学习·容器·langchain
mzhan01710 分钟前
Linux: netlink 内核网络数据变化通知应用
linux·网络·netlink
qq_3813385014 分钟前
1Panel 快速部署 Node+MongoDB+Nginx 项目实操流程(附避坑指南)
linux·运维·服务器
Jorunk20 分钟前
如何配置实验室的服务器
运维·服务器
双层吉士憨包26 分钟前
如何注册Talkatone免费美国号码?实测有效方案
大数据·运维·网络
空空空空空空空空空空空空如也36 分钟前
QT编译程序在Ubuntu下不进桌面直接启动和避免重复启动的方法
linux·运维·ubuntu
辰尘_星启39 分钟前
解决幽灵容器
linux·docker·容器·机器人·嵌入式
一人の梅雨40 分钟前
义乌购商品详情接口进阶实战:批发场景下的精准解析与高可用架构
java·服务器·前端