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




  • 相关阅读:
    0593. Valid Square (M)
    0832. Flipping an Image (E)
    1026. Maximum Difference Between Node and Ancestor (M)
    0563. Binary Tree Tilt (E)
    0445. Add Two Numbers II (M)
    1283. Find the Smallest Divisor Given a Threshold (M)
    C Primer Plus note9
    C Primer Plus note8
    C Primer Plus note7
    C Primer Plus note6
  • 原文地址:https://www.cnblogs.com/OliverQin/p/10137964.html
Copyright © 2011-2022 走看看