当存在大量数据的时候,通常很难处理这些信息及提取有用信息。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. C#中的命名空间namespace与Java中的包package之间的区别

    Java 包被用来组织文件或公共类型以避免类型冲突.包结构可以映射到文件系统. System.Security.Cryptography.AsymmetricAlgorithm aa; 可能被替换: ...

  2. ubuntu 终端无法启动:ImportError: cannot import name 'sysconfig' from 'distutils'

    gnome-terminal 出错 ImportError: cannot import name '_gi' 系统:ubuntu17 装了python2.7.13, 之后陆续装了python3.5. ...

  3. CentOS Virtual Machine 设置SSH主机登录

    查看Centos7的IP 我们输入ip查询命名 ip addr  也可以输入 ifconfig查看ip,但此命令会出现3个条目,centos的ip地址是ens33条目中的inet值. 发现 ens33 ...

  4. php定时回调接口

    http://www.dewen.org/search/q/php%E5%AE%9A%E6%97%B6%E8%B0%83%E7%94%A8%E5%AD%98%E5%82%A8%E8%BF%87%E7% ...

  5. 样条之CatmullRom

    所谓样条曲线是指给定一组控制点而得到一条曲线,曲线的大致形状由这些点予以控制,一般可分为插值样条和逼近样条两种,插值样条通常用于数字化绘图或动画的设计,逼近样条一般用来构造物体的表面.CatmullR ...

  6. osg for android学习之一:windows下编译(亲测通过)【转】

    1. 首先需要一个OSG for android的环境 (1)NDK 现在Eclipse 对NDK已经相当友好了,已经不需要另外cygwin的参与,具体可以参考 Android NDK开发篇(一):新 ...

  7. log4net修改数据库连接字符串和写自定义信息

    最近项目需要用log4net来写日志,因为整个平台式在sharepoint上,我们需要记录具体是哪个子站点发生的日志,因此需要再原来的log表里面添加一个自定义信息列.由于平台的安全性要求,我们需要对 ...

  8. [leetcode]Jump Game @ Python

    原题地址:https://oj.leetcode.com/problems/jump-game/ 题意: Given an array of non-negative integers, you ar ...

  9. Sequence在Oracle中的使用

    Oracle中,当需要建立一个自增字段时,需要用到sequence.sequence也可以在mysql中使用,但是有些差别,日后再补充,先把oracle中sequence的基本使用总结一下,方便日后查 ...

  10. Android -- Canvas java.lang.UnsupportedOperationException

    干货 java.lang.UnsupportedOperationException at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:2 ...