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进行分隔,然后删除文件
相关推荐
无事好时节2 分钟前
网络编程基础:OSI 模型与 TCP/IP 协议栈详解
服务器
一周困⁸天.2 分钟前
GitOps 详解与工具链全解析
linux·运维·devops
叫致寒吧4 分钟前
Docker资源限制 与数据卷
linux·运维·docker
先生沉默先4 分钟前
c#Socket学习,使用Socket创建一个在线聊天,数据模型(2)
服务器·学习·c#
chalmers_156 分钟前
基于该 WebSocket 脚本开展专业的压力测试
服务器·websocket·压力测试
小宇的天下8 分钟前
Synopsys Skipper 核心功能与使用指南(结构化总结)
运维·服务器
苹果醋38 分钟前
24.记录Vue项目iview组件日期获取时间少一天
java·运维·spring boot·mysql·nginx
丁丁丁梦涛8 分钟前
nginx在多层服务器代理接口地址的应用
运维·服务器·nginx
@淡 定10 分钟前
MVCC(多版本并发控制)实现机制详解
java·服务器·数据库
有谁看见我的剑了?10 分钟前
ESXI 虚机机硬盘类型和硬盘模式学习
运维·学习·云计算