文本文件
源程序语言、文本格式的数据文件、文字信息、
系统配置信息
/etc下的配置文件
程序输出
文本文件处理的命令:
进程的标准输入/输出<stdio.h>
标准输入:stdin
标准输出:stdout
重定向机制:
把标准输入输出重新定向到一个文件中去(*)
输出重定向:ls –l > filelist.txt(输出当前所有文件信息)
输入重定向:sort < filelist.txt
管道机制(*)
ls –l | sort 前面命令的输出通过管道送给sort作为输入
文本文件处理命令的特点:
- 不指定处理对象文件名时,从标准输入获得数据
- 指定处理对象文件名时,从文件中获取数据
- 多数命令可以同时指定多个文件
- 处理结果在标准输出显示
灵活性:工具命令的组合
文本文件的读取和处理程序
more/less:逐屏显示文件
空格:显示下一屏 回车:上滚一行 q:退出程序 /pattern搜索模式字符串 /继续查找
h:帮助信息 ctrl+L:屏幕刷新
less支持使用箭头进行浏览
cat与od:列出文件内容
cat:文本格式打印(选项 –n:行号)
cat > file.sh
输入内容
ctrl+D结束输入
这样 可以在没有编译器的情况下创建文件并输入内容
od:逐字节打印(-t 打印格式选项)
od –t x1 x.dat 以十六进制打印各字节
od –t x1 x.dat | more
echo abcdABCD | od –t x1
x1:十六进制 d1:十进制 u1:无符号数显示字节 c:显示字符 o:八进制
head与tail:列出文件的头部或者尾部
默认选十行,-n可以选择显示的行数
tail –f 实时打印文件尾部被追加的内容
tee:三通
将从标准输入stdin得到的数据抄送到标准输出stdout显示,同时存入磁盘文件中
./myap | tee myap.log
wc:字计数
wc [选项] 文件
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
-help 显示帮助信息
–version 显示版本信息
sort:排序
默认按字符串排序
-n按数字算数值大小排序
功能强大!man查阅
tr:翻译字符 tr string1 string2
把标准输入拷贝到标准输出,string1中出现的字符替换为string2中的对应字符
用[]指定一个集合;cat report | tr ‘[a-z]’ ‘[A-Z]’
cat file1 | tr % ‘\012’
uniq:筛选文件中的重复行(上下紧邻的行才是重复的行)
uniq option
unip option inputfile
unip option inputfile outputfile
-u只保留没有重复的行
-d 只保留重复的行
-c 计数重复行的次数
缺省:都打印,重复行打印一次
\012换行符的ASCII
sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具