Linux 文本处理

Author : Janloong Do_O

文本处理

cat – 连接文件并且打印到标准输出
sort – 给文本行排序

uniq – 报告或者省略重复行
cut – 从每行中删除文本区域

paste – 合并文件文本行

join – 基于某个共享字段来联合两个文件的文本行

comm – 逐行比较两个有序的文件

diff – 逐行比较文件

patch – 给原始文件打补丁

tr – 翻译或删除字符

sed – 用于筛选和转换文本的流编辑器

aspell – 交互式拼写检查器

cat

cat -A   显示出非打印字符
cat -n   给文本行添加行号
cat -s   禁止空白行输出多个空白行(可以单个空白行)

sort

选项描述
-b–ignore-leading-blanks默认情况下,对整行进行排序,从每行的第一个字符开始。这个选项导致 sort 程序忽略 每行开头的空格,从第一个非空白字符开始排序。
-f–ignore-case让排序不区分大小写。
-n–numeric-sort基于字符串的数值来排序。使用此选项允许根据数字值执行排序,而不是字母值。
-r–reverse按相反顺序排序。结果按照降序排列,而不是升序。
-k–key=field1[,field2]对从 field1到 field2之间的字符排序,而不是整个文本行。看下面的讨论。
-m–merge把每个参数看作是一个预先排好序的文件。把多个文件合并成一个排好序的文件,而没有执行额外的排序。
-o–output=file把排好序的输出结果发送到文件,而不是标准输出。
-t–field-separator=char定义域分隔字符。默认情况下,域由空格或制表符分隔。

example:

ls -l /usr/bin | sort -nr -k 5 | head
sort --key=1,1 --key=2n distros.txt

uniq

选项  说明
-c  输出所有的重复行,并且每行开头显示重复的次数。
-d  只输出重复行,而不是特有的文本行。
-f n    忽略每行开头的 n 个字段,字段之间由空格分隔,正如 sort 程序中的空格分隔符;然而, 不同于 sort 程序,uniq 没有选项来设置备用的字段分隔符。
-i  在比较文本行的时候忽略大小写。
-s n    跳过(忽略)每行开头的 n 个字符。
-u  只输出独有的文本行。这是默认的。

cut

这个 cut 程序被用来从文本行中抽取文本,并把其输出到标准输出。它能够接受多个文件参数或者 标准输入。

选项  说明
-c char_list    从文本行中抽取由 char_list 定义的文本。这个列表可能由一个或多个逗号 分隔开的数值区间组成。
-f field_list   从文本行中抽取一个或多个由 field_list 定义的字段。这个列表可能 包括一个或多个字段,或由逗号分隔开的字段区间。
-d delim_char   当指定-f 选项之后,使用 delim_char 做为字段分隔符。默认情况下, 字段之间必须由单个 tab 字符分隔开。
--complement    抽取整个文本行,除了那些由-c 和/或-f 选项指定的文本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值