基础正则表示法| 符号 | 含义 |
|---|---|
| [] | 有一个的意思,[abc]表示有a或b或c中一个 |
| [^] | 反向选择,不包含 |
| [a-z] | -,指连续的a至z 26个字母 |
| ^ | 行首 |
| $ | 行尾 |
| \ | 转义字符,跳脱字符 |
| ^$ | 空白行 |
| . | 一个字符占位 |
| * | 重复前一字符0至多个 |
| {n,m} | 搜寻包含前一字符n至m个的字符串 |
延伸正则表示法| 符号 | 含义 |
|---|---|
| + | 一个或一个以上的前一个RE字符 |
| ? | 零个或一个前一个RE字符 |
| | | 同时用(or)的方式查找多个字符串 |
| () | 包含。 |
| ()+ | 字符串拼接 |
cut| 关键字 | 操作 |
|---|---|
-d |
后面接分隔字符。与 -f 一起使用; |
-f |
依据 -d 的分隔字符将一段讯息分区成为数段,用 -f 取出第几段的意思; |
-c |
以字符 (characters) 的单位取出固定字符区间 |
tee| 选项 | 解释 |
|---|---|
-a |
以累加 (append) 的方式,将数据加入 file 当中 |
sed-i 指令代替vim直接修改部分文本内容| 关键字 | 操作 |
|---|---|
| 格式 | sed [-nfer] 动作 |
-n |
使用slient模式,只将sed特殊处理的那一行(或动作)列出 |
-f |
将处理结果输出到文件,-f filename 则可以在文件内进行sed操作 |
-e |
直接在指令模式上进行sed,超过一个动作时每个动作前都需要-e |
-r |
sed的动作 支持延伸的正则表示法,默认是支持基础的正则 |
-i |
直接修改读取的文本内容 |
动作 |
[n1[,n2]]function,动作用单引号包裹, n1,n2表示执行动作的行。(^行首$行尾) |
a |
add,a 后接的字符串会在新的一行出现(当前行的下一行) |
i |
insert,i 后接的字符串会在新的一行出现(当前行的上一行) |
d |
delete,删除 |
s |
substitute,取代,语法同vim(s/目标字段/取代内容/g,可结合正则语法) |
p |
print,打印,常同-n 一起使用 |
printf 格式化输出| 关键字 | 含义 |
|---|---|
语法 |
printf ‘指定输出格式‘ 实际内容 |
| \a | 警告声音输出 |
| \b | 退格键(backspace) |
| \f | 清除屏幕(form feed) |
| \n | 换行输出 |
| \r | 即Enter键 |
| \t | 水平的tab按键 |
| \v | 垂直的tab按键 |
| \xNN | 将数字转换为字符,NN为两位数的数字 |
| %ns | C语言中,n为数字,s代表字符串 |
| %ni | C语言中,n为数字,i代表integer,整数, |
| %N.nf | C语言中,总共有N位,其中小数点后有n个数字 |
awk 增强版cutawk ‘条件1{动作1} 条件2{动作2}...‘ filename| 关键字 | 含义 |
|---|---|
条件 |
满足条件才会执行动作 |
filename |
需要处理的文件名 |
stdout |
awk也可读取前一个指令的sdtout |
指令间隔 |
有多个动作时,每个{}内的操作用; 或Enter隔开 |
| awk变量 | 含义 |
|---|---|
| NF | 每一行拥有的字段总数,即多少个$ |
| NR | 目前awk所处理的是第几行 |
| FS | 目前段之间分隔字符,默认是空格,手动指定FS=‘:‘ |
| "常量" | awk语句中常量用双引号包裹 |
原文:https://www.cnblogs.com/luckyCoder/p/12732706.html