zoukankan      html  css  js  c++  java
  • 【Linux】处理数据文件

    当存在大量数据的时候,通常很难处理这些信息及提取有用信息。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




  • 相关阅读:
    day06 数据类型的内置方法(数字类型和字符串)
    day 05 流程控制(if、while、for)
    day04 交互、格式化输出、运算符
    day03 python运行、变量、注释、内存管理、数据类型
    day02 编程语言
    动手实现hashmap
    顺时针打印矩阵
    反转链表-用二重指针解决
    面试经验--携程测试开发工程师--一面
    linus提到过的单链表删除节点算法
  • 原文地址:https://www.cnblogs.com/OliverQin/p/10137964.html
Copyright © 2011-2022 走看看