当存在大量数据的时候,通常很难处理这些信息及提取有用信息。Linux提供了一系列的命令行工具来处理这些数据。

1.排序数据

Linux:/usr/local/sbin # cat file2

1

0.3

2015

100

290

10

Linux:/usr/local/sbin # sort file2

0.3

1

10

100

2015

290

Linux:/usr/local/sbin #

从上述情况来看,sort并没有对数字进行进行排序,是由于在默认情况下,sort命令会把数字当做字符来执行标准的字符排序。如果需要当做数字排序,需要添加参数n

Linux:/usr/local/sbin # sort -n file2

0.3

1

10

100

290

2015

1.1 sort命令参数

-d   排序时忽略起始空白

-C   不排序,如果数据无序也不要报告

-c   不排序,但检查输入的数据是否已排序,未排序的话,报告

-d   仅考虑空白和字母,不考虑特殊字符

-f   默认情况下,会将大写字母排在前面,这个参数会忽略大小写

-g   按通用数值来排序

-i   在排序时忽略不可打印字符

-k   排序从POS1位置开始,如果指定了POS2的话,到POS2结束

-M   用三字符月份名按月份排序

-m   将两个已排序数据文件合并

-n   按字符串数值来排序

-o   将排序结果写到指定的文件中

-R   按随机生成的散列表的键值排序

-r   反序排序

-S   指定内存的大小

-s   禁用最后重排序比较

-T   指定一个位置来存储临时文件夹

-t   指定一个用来区分键位置的字符

-u   和-c参数一起使用,检查严格排序

-z   用NULL字符作为行尾,而不是用换行符

1.2 案例

Linux:/usr/local/sbin # du -sh * | sort -nr

4.0K    third.sh

4.0K    test2.sh

4.0K    test1.sh

4.0K    sum.sh

4.0K    second.sh

4.0K    param_v.sh

4.0K    out1.txt

4.0K    out.txt

4.0K    input_param_sum.sh

4.0K    first.sh

4.0K    file2

4.0K    file1

0    test_two

0    test_one

2.查找数据

2.1 grep进行搜索

Linux:/usr/local/sbin # cat file1

one

two

three

four

five

six

Linux:/usr/local/sbin # grep three file1

three

如果需要反向搜索,添加-v参数即可(输出不匹配该模式的行)

Linux:/usr/local/sbin # grep -v three file1

one

two

four

five

six

显示匹配模式所在行号 -n参数

Linux:/usr/local/sbin # grep -n three file1

3:three

只显示被匹配到的行的数量

Linux:/usr/local/sbin # grep -c three file1

1

指定多个匹配模式

Linux:/usr/local/sbin # grep -e three -e two file1

two

three

【Linux】处理数据文件的更多相关文章

  1. linux删除数据文件无备份恢复

    参考 : http://www.lunar2013.com/2013/06/linux-%E8%AF%AF%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E6%81%A2%E ...

  2. Linux/UNIX数据文件和信息系统

    数据文件和信息系统 密码文件 在存储/etc/passwd在.以下功能可以用来获得密码文件条目. #include <sys/types.h> #include <pwd.h> ...

  3. ORA-01578 data block corrupted 数据文件损坏 与 修复 (多为借鉴 linux)

    好吧,先说说造成崩溃的原因: 使用redhat 5.9 Linux 作为数据库服务器, 周五数据库正在使用中,硬关机造成数据库文件部分损坏(周一上班时,应用程序启动不起来,查看日志文件时,发现一个数据 ...

  4. [工作相关] GS产品使用LInux下Oracle数据库以及ASM存储时的数据文件路径写法.

    1. 自从公司的GS5版本就已经支持Linux下的oracle数据库通过安装工具自动安装注册了, 只不过路径需要使用linux的命名规则, 如图: /home/oracle/ 注意 最后是有一个 斜线 ...

  5. 自学Linux Shell4.3-处理数据文件sort grep gzip tar

    点击返回 自学Linux命令行与Shell脚本之路 4.3-处理数据文件sort grep gzip tar ls命令用于显示文件目录列表,和Windows系统下DOS命令dir类似.当执行ls命令时 ...

  6. linux下误删数据文件恢复

    linux下文件被删除能够用非常多工具进行恢复.比如undelete(适合ext2,ext3).giis(不能恢复安装giis之前的文件).ext3grep(仅限ext3).R-linux(支持ext ...

  7. Linux下修改MySQL数据库数据文件路径

    使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件. 原路径:/var/lib/mysql 目标路径:/home/mysq ...

  8. Linux下MySQL的数据文件存放位置

    http://bbs.csdn.net/topics/390620630mysql> show variables like '%dir%';+------------------------- ...

  9. Linux环境下利用句柄恢复Oracle误删除的数据文件

    在误删除Oracle的数据文件后,如果未关闭数据库,文件句柄还没有释放,且被删除的数据文件占用的磁盘块未被复写,则可以利用句柄的方式来恢复数据文件.下面模拟恢复过程. (一)环境 OS版本:redha ...

随机推荐

  1. cat、tac、rev、nl命令

    当日志文件log.log很长,但又要按内容从后往前查看时,可以使用如下命令: tac log.log | more cat     由第一行开始显示内容,并将所有内容输出    tac     从最后 ...

  2. SEM(搜索引擎营销)

    ylbtech-Miscellaneos:SEM(搜索引擎营销) 搜索引擎营销:英文Search Engine Marketing ,我们通常简称为“SEM”.就是根据用户使用搜索引擎的方式利用用户检 ...

  3. 基于ZigBee和STM32的智能家居控制系统的设计与实现(三)

    基于ZigBee和STM32的智能家居控制系统的设计与实现(三) 自从前两篇博客介绍了智能家居系统的基本实现机理后,收到了好多朋友的来信,和我讨论了好多的这方面的知识,在此很高兴,虽然自己做的这个所谓 ...

  4. position:fixed ,锚点定位不准确的问题

    解决方案: 参照 stackoverflow 的做法,在主体内容前加一个暗锚 <div class="anmao" id="experts">< ...

  5. 3分钟搞定Linux系统正则表达式

    正则表达式是一种字符模式,用于在查找过程中匹配制定的字符. 元字符通常在Linux中分为两类:Shell元字符,由Linux Shell进行解析:正则表达式元字符,由vi/grep/sed/awk等文 ...

  6. w3cscholl的在线代码编辑工具

    https://www.w3cschool.cn/tryrun/runcode?lang=c

  7. OpenGL ES 3.0 and libGLESv2

    note that libGLESv2 is the recommended Khronos naming convention for the OpenGL ES 3.0 library. This ...

  8. C++ REST SDK i

    Welcome! The C++ REST SDK is a Microsoft project for cloud-based client-server communication in nati ...

  9. NSProxy

    NSProxy类在分布式对象架构中是很重要的.由于作用比较特别,NSProxy在Cocoa程序中出现频率很低. NSProxy 是一个抽象类,它为一些表现的像是其它对象替身或者并不存在的对象定义一套A ...

  10. 【Python】使用内置base64模块进行编解码

    代码: import hashlib import base64 hash = hashlib.md5() hash.update('逆火Tu22m'.encode('utf-8')) print(h ...