sed使用介绍 sort使用介绍 uniq使用介绍 comm使用介绍 column使用介绍
- 2015-08-19 20:17:00
- admin
- 原创 4958
一、sed使用介绍
sed是一个很好的文件处理工具,以行为单位进行文本处理,可以将数据行进行新增、删除、替换、选取,命令行格式:
sed 选项 命令 filename
常用参数:
-n,--quiet,--silent,禁止打印匹配内容。
-i,--in-place,直接修改文件。
-r,--regexp-extended,使用正则表达式扩展。
常用命令:
a新增,地址后面插入,i新增,地址前面插入。
d删除,s替换,c取代,p打印。
二、sed入门实例
打印某行
sed -n '1p' myfile,打印第一行
sed -n '$p' myfile,打印最后一行
sed -n '1!p' myfile,打印第一行以外的行
查询某行
sed -n '/ruby/p' myfile,查询包括关键字ruby所在所有行
sed -n '/\$/p' myfile,查询包括关键字$所在所有行,使用反斜线屏蔽字符转义
新增多行
sed '1a drink tea' myfile,第一行后增加字符串"drink tea"
sed '1,3a drink tea' myfile,第一行到第三行后增加字符串"drink tea"
sed '1a drink tea\nor coffee' myfile,第一行后增加多行,换行使用换行符
删除某行
sed '1d' myfile,删除第一行
sed '$d' myfile,删除最后一行
sed '1,2d' myfile,删除第一行到第二行
sed '2,$d' myfile,删除第二行到最后一行
整行替换
sed '1c Hi' myfile,第一行替换为Hi
sed '1,2c Hi' myfile,第一行到第二行替换为Hi
部分替换
sed -n '/ruby/p' myfile | sed 's/ruby/bird/g',替换ruby为bird
sed -n '/ruby/p' myfile | sed 's/ruby/bird/1',替换每行第一个ruby为bird
三、常用数据工具
sort排序,默认文本升序,-n基于数值排序,-k基于第几列关键字排序:
cat hh | sort
tail -f main.cpp
tail -f main.cpp
tail -f main.cpp &
tail -f main.cpp &
uniq去除重复行,输入需要排序才能去除重复行,-c行首显示出现次数:
cat hh | sort | uniq
tail -f main.cpp
tail -f main.cpp &
comm用于比较两个排序的文件,建议一次只显示一种类型结果:
-1 不显示文件1中独有行
-2 不显示文件2中独有行
-3 不显示两个文件的共有行
column使用表格更直观的展示数据,默认列分隔符是空白字符:
column -t -s: /etc/passwd