shell中的grep,awk,sort,cut,sed
2014-08-15 15:30
465 查看
此处命名为正则表达式可能不太恰当,大都是一些可能是shell脚本中用到的命令,暂时这样称呼,当然这些命令确实和正则表达式关系密切。
1.grep
grep -n '^a’ filename #-n 打印所过滤出行的行号 过滤以某字符为开头的行
grep -n '^[a-z]' filename 过滤以小写字母为开的行
grep '^$' filename 打印为空行的行号
grep -n '\.$' 打印以小数点为结尾的行
ps: $代表结尾
^代表开头
grep -v '^$' filename 打印不为空的行
-v 反义,意为不包含某参数的行
grep -v 'set' filename 打印文件中不包含set的行
grep 常用参数:
-c 只输出匹配行的计数
-i 不区分大小写(只适用于单字符)
-n 显示匹配行及行号
-s 不显示不存在或无匹配文本的错误信息
-v 显示不包含匹配文本的所有行
2.sed [d删除 c替换 s 搜索替换]
sed 'n1,n2 d'
sed -i s/a/b/g filename 替换后并写入源文件
3.awk是个非常牛逼的程序
awk 命令1,命令2,命令3
awk '{print NR,NF,$1,$NF,}' file 显示文件file的当前记录号、域数和每一行的第一个和最后一个域。
FS 分隔符
NR 当前为第几行
FN 当前有几个字段
awk 默认的分隔符是一个空格
4.last 这个月的登陆信息
5.cut
-d -f 结合作用,-d后接分隔符,-f后接数字。意为打印出以-d(后接内容)为分隔符分隔成的第几部分
如: cut -d '_' -f 3 string_line 即为打印出以_为分隔符的第3部分,若没有第三部分则打印出为空
-c 以字符为单位取出固定范围的字符
cut -c 20-25 即取出这一行第20到第25个字符
6.uniq
过滤重复内容
uniq -c 在列边显示该行出现的次数
7.sort (排序)
-f 忽略大小写
-b 忽略空格
-r 反向排序
-u 滤重
-t 分隔符,默认为tab
-k 按哪个字段来排序
8.split -bl prefix(文件名头)
-b 按大小拆分 后接文件太小 ( 400b/400K/400m等)
-l 按行拆分
9.print
PS:以上命令可通过管道连接使用,以完成一些文本的处理
本文出自 “那些年匆匆” 博客,请务必保留此出处http://gtlinux.blog.51cto.com/1047916/1540667
1.grep
grep -n '^a’ filename #-n 打印所过滤出行的行号 过滤以某字符为开头的行
grep -n '^[a-z]' filename 过滤以小写字母为开的行
grep '^$' filename 打印为空行的行号
grep -n '\.$' 打印以小数点为结尾的行
ps: $代表结尾
^代表开头
grep -v '^$' filename 打印不为空的行
-v 反义,意为不包含某参数的行
grep -v 'set' filename 打印文件中不包含set的行
grep 常用参数:
-c 只输出匹配行的计数
-i 不区分大小写(只适用于单字符)
-n 显示匹配行及行号
-s 不显示不存在或无匹配文本的错误信息
-v 显示不包含匹配文本的所有行
2.sed [d删除 c替换 s 搜索替换]
sed 'n1,n2 d'
sed -i s/a/b/g filename 替换后并写入源文件
3.awk是个非常牛逼的程序
awk 命令1,命令2,命令3
awk '{print NR,NF,$1,$NF,}' file 显示文件file的当前记录号、域数和每一行的第一个和最后一个域。
FS 分隔符
NR 当前为第几行
FN 当前有几个字段
awk 默认的分隔符是一个空格
4.last 这个月的登陆信息
5.cut
-d -f 结合作用,-d后接分隔符,-f后接数字。意为打印出以-d(后接内容)为分隔符分隔成的第几部分
如: cut -d '_' -f 3 string_line 即为打印出以_为分隔符的第3部分,若没有第三部分则打印出为空
-c 以字符为单位取出固定范围的字符
cut -c 20-25 即取出这一行第20到第25个字符
6.uniq
过滤重复内容
uniq -c 在列边显示该行出现的次数
7.sort (排序)
-f 忽略大小写
-b 忽略空格
-r 反向排序
-u 滤重
-t 分隔符,默认为tab
-k 按哪个字段来排序
8.split -bl prefix(文件名头)
-b 按大小拆分 后接文件太小 ( 400b/400K/400m等)
-l 按行拆分
9.print
PS:以上命令可通过管道连接使用,以完成一些文本的处理
本文出自 “那些年匆匆” 博客,请务必保留此出处http://gtlinux.blog.51cto.com/1047916/1540667
相关文章推荐
- 几个常用的文本处理shell 命令:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk
- shell中的grep,awk,sed,cut,sort
- Linux的shell脚本grep、sed、awk练习和diff、patch、cut、sort介绍
- shell工具——cut、tr、grep、sort、uniq、re、sed、awk
- (四)find 之grep cut paste sort awk sed find uniq 全面总结
- shell 文本处理的几个命名sed,awk,sort,uniq,cut
- 正则表达式及grep、sed、awk、cut、sort、uniq工具
- Linux下正则表达式以及几种工具:grep,sed,awk,cut,sort,uniq的简单应用
- (三) paste 之grep cut paste sort awk sed find uniq 全面总结
- linux基础篇-07,linux文本处理cat more less head tail sort uniq grep cut jion sed awk
- shell 分析log 使用例子 grep,sed,sort,awk运用
- 【shell脚本】常用工具的学习grep、sed、awk、cut
- 转 -- 【Shell】【经验】awk sed grep find sort常用配搭用法
- shell字符串操作总结(注重:cut,sed、awk、grep)
- shell学习笔记[grep,sed,awk,sort,for,until,while]
- Linux grep sed nl awk sort,uniq,cut,wc rsync命令详解
- shell删除文本技巧 —— grep, cut, head, sed, awk
- 几个常用的文本处理shell 命令:find、grep、sort、uniq、sed、awk
- shell脚本抽取制定字符串、grep+awk+cut+sed
- Linux 的(cut,sed,awk,grep,sort)