终端下文本操作tips
简要介绍终端下文本操作,需要通过管道|
综合运用。
从文件读取行
cat
-
对文件中的行进行编号
cat -n filename
-
替换空白行和制表符,
-s
选项用一个空白行替换多个空白行cat -s filename
-T
用^I
替换制表符:cat -T filename
- 查看word
tac
(行)反序输出
zcat
将gzip文件解压输出。
zcat filename.gz
head
输出前几行
tail
输出最后几行,与head
组合可以提取任意行。
head -n5 file1| tail -n2
expand
将制表符转变为空格。
nl
显示行号,相比cat -n
有更多选项。相见man nl
uniq
删除相邻的重复行。
sort
排序,-r
表示反序,-n
表示按数字排序,-u
表示忽略相同行。其他选项请man sort
从文件提取行
grep
global regular expression printer,使用请info grep
zgrep
如同zcat
sgrep
一般不安装这个包,但在html文件中抓取节很方便。
split
分解文件。-l
表示按行数分解文件,-b
表示按大小分解。
csplit
分解目标模式的文件,{*}
表示尽可能多的分解
csplit filename /pattern/ csplit filename /==/ {*}
使用文本文件的字段
cut
能从一行文本中得到一个或多个字段。-f
选择字段,-d
cut -d: -f5,7 /etc/passwd
-c
可以选择指定列
cut -c2-4 filename
paste
同cut
使用方法。
join
提取两个文件,行被分解为字段,并且有一字段相同(可指定),提取不同部分组合。
awk
Loading...
wc
统计单词数,换行符数,字节数。
替换文本
sed
同awk请
info sed info awk
tr
替换或删除单个字符,-s
删除列出的重复字符,-d
删除列出字符。
cat file|tr e E cat file|tr a-z A-Z cat file|tr [:lower:] [:upper:] cat file|tr abc efg cat file|tr -s abc cat file|tr -d abc
参考文献
- 《opensuse11.10和suse linux server宝典》
-
man
2012年02月27日 星期一 17时57分18秒