常用 sed
命令示例
基本替换
sed 's/old/new/' file
将文件中首次出现的 "old" 替换为 "new"。
全局替换
sed 's/old/new/g' file
将文件中所有出现的 "old" 替换为 "new"。
在特定行进行替换
sed '3 s/old/new/' file
只替换第三行中的 "old" 为 "new"。
删除特定行
sed '2d' file
删除第二行。
删除包含特定模式的行
sed '/pattern/d' file
删除包含 "pattern" 的行。
在特定行前插入新行
sed '2i\New Line' file
在第二行前插入 "New Line"。
在特定行后追加新行
sed '2a\New Line' file
在第二行后追加 "New Line"。
打印特定行范围
sed -n '2,4p' file
打印第 2 到第 4 行。
打印包含特定模式的行
sed -n '/pattern/p' file
打印包含 "pattern" 的行。
在每行末尾添加文本
sed 's/$/ text/' file
在每行的末尾添加 " text"。
常用 grep
命令示例
基本搜索
grep 'pattern' file
搜索文件中包含 "pattern" 的行。
递归搜索目录
grep -r 'pattern' /path/to/directory
递归搜索目录中包含 "pattern" 的文件。
显示行号
grep -n 'pattern' file
显示包含 "pattern" 的行及其行号。
忽略大小写
grep -i 'pattern' file
忽略大小写搜索 "pattern"。
只显示匹配的字符串
grep -o 'pattern' file
只显示匹配的字符串,而不是整行。
显示匹配行的上下文
grep -C 2 'pattern' file
显示匹配行以及上下各 2 行。
列出匹配的文件名
grep -l 'pattern' /path/to/directory/*
列出包含 "pattern" 的文件名。
反向匹配
grep -v 'pattern' file
显示不包含 "pattern" 的行。
统计匹配行数
grep -c 'pattern' file
统计包含 "pattern" 的行数。
从标准输入读取
echo "Hello World" | grep 'Hello'
从标准输入中搜索 "Hello"。
常用 awk
命令示例
打印文件的特定列
awk '{print $1}' file
打印文件的第一列。
基于模式匹配进行处理
awk '/pattern/ {print $0}' file
打印包含 "pattern" 的行。
使用字段分隔符
awk -F',' '{print $1}' file
使用逗号作为分隔符,打印第一列。
进行算术运算
awk '{print $1, $2 * 2}' file
打印第一列和第二列的两倍。
打印行号和内容
awk '{print NR, $0}' file
打印行号和内容。
条件语句
awk '{if ($2 > 30) print $1}' file
打印第二列大于 30 的第一列。
BEGIN 和 END 块
awk 'BEGIN {print "Start"} {print $0} END {print "End"}' file
在处理前后打印 "Start" 和 "End"。
按模式计算字段和
awk '/pattern/ {sum += $2} END {print sum}' file
计算包含 "pattern" 的第二列之和。
打印偶数行
awk 'NR % 2 == 0' file
打印偶数行。
格式化输出
awk '{printf "Name: %s, Age: %d\n", $1, $2}' file
格式化输出第一列和第二列。
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。