《Unix&Linux大学教程》学习笔记四:标准I/O 与 过滤器

 

1:标准IO

Unix中的标准IO主要包括:标准输入、标准输出(正常输出)、标准错误(异常信息)

 

2:重定向输出

内容 > 文件名 :将内容输出到文件,并且覆盖文件原来内容;文件不存在则新建
内容 >> 文件名:将内容追加到文件末尾

 

3:重定向输入

指令 < 文件名 :从文件中读取数据给指令处理

 

4:管道线

一个程序的标准输出能自动作为下一个程序的标准输入。

指令1 | 指令2 :指令1的输出作为指令2的输入

 

5:组合输出

tee 文件名:从标准输入读取数据,并向标准输出和文件发送数据

 

6:长选项与短选项

短选项: -字符

长选项:--单词

 

7:过滤器——任何能从标准输入读取文本数据,经过处理后往标准输出写入文本的程序

例如:sort程序

 

8:如何组合使用过滤器

熟练使用Unix是指:能够熟练运用Unix程序员们已经写好的众多程序来解决自己的问题。

分解问题:针对自己遇到的问题,进行分解。

选择程序:对每个小问题,使用适合的程序(过滤器)来处理。

组合:然后使用 管道线 连接起来。

 

9:最简单的过滤器——cat

cat :接收标准输入,并将内容发送到标准输出
cat > 文件:重定向输出到文件
cat >> 文件:重定向追加输出到文件中
cat 文件:从文件中读取数据
cat file... :按顺序读取多个文件,并且将读取内容显示在屏幕上
cat file... > 组合文件:按顺序读取多个文件,并且将读取内容写入到标准输出【可用于组合多个文件】
cat file... | 指令:按顺序读取多个文件,并且将读取内容通过管道输送给指令程序

 

10:常用过滤器

 

11:分拆文件——split

split -l lines file:将file文件分拆成每个文件最大行数为lines行的小文件

 

12:文本反转——tac

tac files... > 文件:从files文件们读取数据,将文本行顺序反转后写入到标准输出

 

13:各行字符反转——rev

rev 文件 :将文件中每行字符反转

 

14:从文件头尾选择数据——在管道线中使用head、tail

...指令 | head -n lines :将输出的头n行提取
...指令 | tail -n lines :将输出的尾n行提取

 

15:按列删除数据——colrm(column remove)

colrm [startcol] [endcol]:删除开始~结束列【适用于二维、表格显示的数据】

 

16:文件比较过滤器

【查分与补丁:使用 diff 旧文件 新文件 得出差分,然后在其他地方使用 patch 按照差分来修改旧文件,就得到了新文件。这就是原始的 差分—补丁 思想。】

 

17:逐字节比较——cmp

cmp 文件1 文件2

 

18:按行比较,有序

comm 文件1 文件2

 

19:无序比较、差分——diff

diff 文件1 文件2

 

20:按列抽取数据——cut

cut -c list file:list为要抽取的列下标集合,如 1,2,3,4

 

 21:组合数据列——patse

patse files...:将多个文件中内容按列组合,成为一张大表

 

22:创建行号

nl -v 起始行号 -i 行号增量 files... :为文件中每行创建行号

 

23:统计行、单词和字符数量——wc(word count)

wc files
=======
输出:行数 单词数 字符数 文件名

 

24:制表符 替换成 空格

expand files

 

25:空格 替换成 制表符

unexpand files

 

26:拆分长行

fold -w 行宽(小于等于80) file1 > file2

【一行80字符:因为第一代计算机使用穿孔卡片存储数据,当时的卡片一行80列,每列一个字符】

 

27:格式化段落

fmt file

 

28:按页格式化——pr

pr file

 

29:按特定模式(正则)选取行——grep

grep pattern files :按特定模式抽取行

 

 30:选取特定模式开头的行——look

look pattern files

 

31:数据排序——sort

sort [-d -f -n] infile > outfile:将infile数据排序后输出到outfile
sort -c file:检查文件数据是否有序

 

32:ASCII码字符顺序

【常用记忆:空格在数字之前,数字在大写之前,大写在小写之前】

 

33:重复行操作——uniq

uniq  file:去除重复行后输出
uniq -d file1 > file2:查看重复行
uniq -c file1 > file2:统计重复行数
uniq -u file:查看唯一重复行

 

34:合并两个文件中的有序数据——join

join [-1 field][-2 field] file1 file2:根据文件1与文件2中对应的field值相同的行合并在一起

 

35:拓扑排序——tsort

tsort file:对文件进行拓扑排序

 

36:字符替换——tr

tr 原字符 替换字符 < file 【注意是字符替换】

转载于:https://www.cnblogs.com/ygj0930/p/8072913.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值