linux sed/awk/grep/cut实用技巧
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]
OPTION:
-i , --in-place, 就地编辑文件,不在屏幕上输出
-n ,--quiet ,, 取消打印
-e , --expression=script,, 顺序多重编辑
Operate:
s --- 替换
‘s/A/B/’
g --- 全局
p -- 打印
匹配到的再打一遍
d --- 删除
a --- 追加 查找到的文本后面一行
i --- 追加, 查找到的文本前面一行
c --- 修改, 查找到的文本整行替换
正则:
^ --- 行首定位符
$ --- 行尾定位符
. --- 匹配任意除换行外的一个字符
* --- 匹配前一个字符零次或者无限次
& --- 查找后替换格式
\(xxx\) --- 匹配到的xxx以\1格式可以显示
# 分隔符,无论什么字符,紧跟在s之后,就是分隔符。
# 多行
1、awk实用
1.1、取其中一列,几列值
awk '{print $2, $6}'
1.2、取最后一列,倒数几个列,
awk '{print $NF}'
#倒数第三列
awk '{print $NF-2}'
1.3、过滤出数字开头的第一列
awk '$1~/^[0-9]+/{print $1}'
1.4、替换某列为给定值
awk '{$2="";print}'
awk '{$2="";print $0}'
1.5、计算某列平均值
awk '{x+=$2}END{print x/NR}'
2、sed实用
2.1、去掉每行开头空格,去掉所有空格
| sed 's/^\s*//'
# 去掉所有空格
| sed 's/\s*//g'
3、cut实用
3.1、取每行某几个字符
# 取每行第6个字符
| cut -c 6
# 取每行第6,8个字符
| cut -c 6,8
# 取每行第6~8个字符
| cut -c 6-8
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统