1. cut


  • cut的工作就是“剪”,具体的说就是在文件中负责 剪贴数据 用的。
  • cut命令从文件的每一行剪贴字节字符 字段,并将这些字节、字符和字段输出。

1.1 基本用法


cut [选项参数] filename


说明:默认分隔符是制表符

1.2 选项参数说明

Shell工具【cut/sed/awk/sort】_定址

1.3 案例

Shell工具【cut/sed/awk/sort】_字段_02Shell工具【cut/sed/awk/sort】_正则表达式_03Shell工具【cut/sed/awk/sort】_正则表达式_04

2. sed

简介:sed是流编辑工具,用来对文本进行过滤和替换。sed通过输入读取文件内容,但 一次仅读取一行内容 进行某些指令处理后输出,sed更适合于处理大数据文件。

基本原理:sed在处理文本文件的时候,会在内存上创建一个模式空间,然后把这个文件的每一行调入模式空间用相应的命令处理,处理完输出;接着处理下一行,直到最后。

基本语法:

(1)sed [选项] [定址commands] [inputfile]

关于定址:


  • 定址可以是0个、1个、2个;通知sed去处理文件的哪几行。
  • 0个:没有定址,处理文件的所有行
  • 1个:行号,处理行号所在位置的行
  • 2个:行号、正则表达式,处理被行号或正则表达式包起来的行

(2)选项:

--version 显示sed版本hao

--help 显示帮助文档

-n 关闭默认输出,默认将自动打印所有行

-e 多点编辑,允许多个脚本指令被执行。

-r 支持扩展正则+ ? () {} |

-i 可以修改原文件,慎用!

-f 支持使用脚本

命令:

p 打印行

d 删除行

s 替换

n 替换第几个匹内容

w 另存为

a 之后添加一行

i 当前行之前插入文本

y 替换匹配内容

案例一: p和-n合用

Shell工具【cut/sed/awk/sort】_多点_05

案例二:d:删除

Shell工具【cut/sed/awk/sort】_字段_06

案例三:s/pattern/replacement/flags【替换】

Shell工具【cut/sed/awk/sort】_sed_07

Shell工具【cut/sed/awk/sort】_定址_08

Shell工具【cut/sed/awk/sort】_多点_09

Shell工具【cut/sed/awk/sort】_字段_10

Shell工具【cut/sed/awk/sort】_多点_11


sed -n -r '/^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$/p' file.txt


Shell工具【cut/sed/awk/sort】_字段_12

案例四:-e

Shell工具【cut/sed/awk/sort】_正则表达式_13

3. awk

Shell工具【cut/sed/awk/sort】_定址_14