文件过滤分割与合并
1、grep命令
grep(global regular expression print)全面搜索正则表达式并把行打印出来,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 -a 不要忽略二进制数据。
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-b 在显示符合范本的数据之外,并显示该行之前的内容。
-c 计算符合范本样式的列数。
-C<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这参数,否则grep命令将回报信息并停止动作。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E 能使用扩展正则表达式
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定的字符串列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“-d resource”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数和 -i效果相同。
-o 只输出文件中匹配到的部分。 grep命令的常见用法
在文件中搜索一个单词,命令会返回一个包含“match_pattern”的文本行:
grep match_pattern file_name
grep "match_pattern" file_name 在多个文件中查找
grep match_pattern file_name1 file_name2 输出除匹配到的所有行之外的 -v选项
grep -v match_pattern file_name 标记匹配颜色选项
grep match_pattern file_name --color=auto 使用正则表达式-E选项:
grep -E "[1-9]+" 只输出文件中匹配到的部分 -o选项
echo this is a test line. | grep -o -E "[a-z]+\.
echo this is a test line. | egrep -o -E "[a-z]+\. 统计文件或者文本中包含匹配字符串的行数-c选项
grep -c "match_pattern" file_name 输出包含字符串的行数-n选项
grep “text” -n filename 或 cat file_name | grep "text" -n 打印样式匹配所位于的字符或者字节偏移
echo gun is not unix | grep -o -b "not" 搜索多个文件并查找匹配文本在哪些文件中:
grep -l "text" file1 file2 file3…… 在多级目录中对文本进行递归搜索:
grep “text” . -r -n 忽略匹配样式中的字符的大小写
echo hello world | grep -i "hello" 选项 -e 制动多个匹配样式:
echo this is a text line | grep -e "is" -e "line" -o 在grep搜索结果中包括或者排除指定文件:
//只在目录中搜索所有的.php和.html文件中递归搜索字符“main()”
grep "main()" . -r --include *.{php,html} grep静默输出
grep -q “test” filename 打印出匹配文本之前或者之后的行;
//显示匹配某个结果之后的3行,使用-A选项
seq 10 | grep "5" -A 3
//显示匹配某个结果之前的3行,使用-B选项
seq 10 | grep "5" -B 3
//显示匹配某个结果的前三行和后三行,使用-C选项
seq 10 | grep "5" -C 3
//如果匹配结果有多行,会用“--”作为各匹配结果之间的分隔符:
echo -e "a\nb\nc\na\nb\nc" | grep a -A 1
2、sort命令
sort命令是在Linux中非常有用,它将文本尽心排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入 语法
sort(选项)(参数)
选项
-b:忽略每行最前面的空格
-c:检查文件是否按顺序排序
-d:处理英文字母、数字及空格字符外,忽略其他的字符;
-f:排序时将小写字母视为大写字母;
-m:将几个排序号的文件进行排序;
-n:按照数值的大小排序;
-o<输出文件>:将排序后的结果存入制定的文件;
-r:以相反的顺序来排序; 参数
文件:指定待排序的文件列表 实例
sort sort.txt
sort -u sort.txt //忽略相同行
或者 uniq sort.txt 将第二列按数字从小到大的排列
sort -nk 2 -t: sort.txt
将第三列按数字从大到小的顺序排列
sort -nrk 3 -t: sort.txt

Linux之文件过滤分割与合并的更多相关文章

  1. Linux 大文件的分割与合并

    1.分割 -- split命令 可以指定按行数分割和按字节大小分割两种模式. (1) 按行数分割 $ large_file.txt new_file_prefix 加上-d,使用数字后缀:加上--ve ...

  2. java 流操作对文件的分割和合并的实例详解_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 java 流操作对文件的分割和合并的实例详解 学习文件的输入输出流,自己做一个小的示例,对文件进行分割和合并. 下面是代 ...

  3. Linux、Windows 下分割、合并rar文件

    1.分割rar 1.1 linux下分割压缩rar 安装rar和unrar和序 $sudo aptitude install rar unrar 示例,分割压缩temp文件,每个包为1MB $rar ...

  4. Linux大文件split分割以及cat合并

    文件大小分割文件时,需要以-C参数指定分割后的文件大小: $ split -C 100M large_file.txt stxt   如上所示,我们将大文件large_file.txt按100M大小进 ...

  5. Java_文件夹分割与合并

    一.思路: 1.文件切割: 使用类RandomAccessFile ,其中方法seek可以自定义读取位置,读一段,通过字节输出流(我使用BufferedOutputStream)写一段 2.文件合并 ...

  6. java大文件的分割和合并

    原文:http://www.open-open.com/code/view/1441679313430 import java.io.File; import java.io.FileInputStr ...

  7. java:快速文件分割及合并

    文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位, ...

  8. (转)java:快速文件分割及合并

    文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位, ...

  9. PDF文件分割和合并

    今天自己用C#实现了下PDF文件的分割和合并,大家可以试用一下. 代码和使用说明在这里:https://github.com/cserspring/pdf_split_merge 有什么意见,大家可以 ...

随机推荐

  1. posix信号量(sem_t)

    引言 信号量分为三种:posix有名信号量(使用Posix IPC名字标识,至少具有随内核的持续性)/posix基于内存的信号量(共享内存,随进程的持续性)/System V 信号量(内核) 有了互斥 ...

  2. hdu_5718_Oracle(大数模拟)

    题目连接:hdu_5718_Oracle 题意: 给你一串数,让你分出两个正整数,使其和最大,若不能分出来就输出"Uncertain" 题解: 当时比赛的时候还天真的去搞大数模版, ...

  3. Codeforces Round #361 (Div. 2) C.NP-Hard Problem

    题目连接:http://codeforces.com/contest/688/problem/C 题意:给你一些边,问你能否构成一个二分图 题解:二分图:二分图又称作二部图,是图论中的一种特殊模型. ...

  4. 剑指offer 数字在排序数组中出现的次数

    因为有序 所以用二分法,分别找到第一个k和最后一个k的下标.时间O(logN) class Solution { public: int GetNumberOfK(vector<int> ...

  5. postfix+dovecot配置多域名邮件服务器

    mail邮局系统的MX(邮件交换)记录配置,以便收发邮件.(MX记录,是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器,如果没有做域名解析,邮局不能正 ...

  6. FusionChart实现柱状图、饼状图的动态数据显示 附Demo

    最近做的项目中需要用饼状图显示——'问卷调查'的统计结果(之前用过FusionChart做过柱状图的数据展示,那还是两年前的事了),在网上查了下FusionChart实现饼状图显示方面的资料,却发现资 ...

  7. PAT (Advanced Level) 1058. A+B in Hogwarts (20)

    简单题. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #in ...

  8. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

  9. WebDriver(Selenium2) 根据新窗口title切换窗口

    http://uniquepig.iteye.com/blog/1559321 在webdriver官方的api中,切换窗口的方法提供的参数是nameOrHandle. 引用 http://uniqu ...

  10. @Resource @Autowired 区别

    spring2.5提供了基于注解(Annotation-based)的配置,我们可以通过注解的方式来完成注入依赖.在Java代码中可以使用 @Resource或者@Autowired注解方式来经行注入 ...