zoukankan      html  css  js  c++  java
  • Linux文件内容操作

    1.文件生成

    seq:产生一系列的数字;man seq 查看其具体使用 。这里使用seq产生下游分析所用到的输入文件

    产生从1到10的数,步长为1

    kugua@kugua-UX310UQK:~$ seq 1 10
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    kugua@kugua-UX310UQK:~$ seq -s ' ' 1 10
    1 2 3 4 5 6 7 8 9 10
    #以一行来显示,空格作为分割符号
    kugua@kugua-UX310UQK:~$ seq -s ' ' 1 2 10
    1 3 5 7 9
    #seq后有三个数,第一个数为起始,第二个数为步长,第三个数为终止
    kugua@kugua-UX310UQK:~$ cat <(seq 1 10) <(seq 11 5 30) >test
    kugua@kugua-UX310UQK:~$ cat test
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    16
    21
    26

    2.文件排序

    sort排序,默认按字符编码排序。如果想按数字大小排序,需添加-n参数。sort常用参数

    -n 数值排序
    -h 人类刻度的数值排序 (2K 1G等)
    -r reverse 逆序
    -c check,不排序,查看文件是否已排序好
    -k 指定使用哪列或哪几列排序
    -m 合并已经排序好的文件
    -S 缓冲区大小,用于排序大文件时的分割排序中每次分割的文件大小
    -u 重复行只保留一行

    kugua@kugua-UX310UQK:~$ sort test 1 10 11 16 2 21 26 3 4 5 6 7 8 9 #sort排序,按ASCII码排序
    kugua@kugua-UX310UQK:~$ sort -n test
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    16
    21
    26
    #sort -n 按数值大小排序
    sort -nr test
    26
    21
    16
    11
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1
    #sort -r 逆序
    kugua@kugua-UX310UQK:~$ cat <(seq 1 9) >>test
    kugua@kugua-UX310UQK:~$ wc -l test
    23 test
    #第一次生成文件用> ,追加文件内容用>>

     awk是一个强大的文本处理工具,其处理数据模式为按行处理,每次读入一行,进行操作

      OFS :输出文件的列分割符(output file column seperator)

      FS : 输入文件的列分割符(默认为空白字符)

      awk中的列从第一到n列,分别记录为$1 $2 ……$n

      BEGIN 表示在文件读取前先设置基本参数;与之对应的是END,只文件读取完成之后进行操作

      不以BEGIN,END开头的{ }就是文件读取,处理的部分。每次对一行进行处理。后面在详细学

    sort test | uniq -c | awk 'BEGIN{OFS="	"}{print $2,$1}'
    a    4
    b    2
    c    2
    d    2

    对两列文件,按照第二列进行排序,sort -k2,2n 。

    kugua@kugua-UX310UQK:~/dhg$ sort test | uniq -c | awk 'BEGIN{OFS="	"}{print $2,$1}' | sort -k2,2r
    a    4
    b    2
    c    2
    d    2
  • 相关阅读:
    【转】VC 隐藏模块、MFC 改变窗口类名
    【转】Reason: The specified virtual disk needs repair.
    关于CreateProcess函数一些经验
    利用NtQuerySystemInformation函数遍历进程,遍历线程,获取线程挂起或运行状态
    uefi安装win7,deepin15双系统后grub没有windows选项
    X64下的虚拟地址到物理地址的转换
    WinDBG 技巧:列出模块(DLL/EXE)里面所有的符号(symbol)
    windows7内核分析之x86&x64第二章系统调用
    使用VS Code写PHP并进行调试
    使用CreateProcess创建新的process 并返回process运行结束返回值
  • 原文地址:https://www.cnblogs.com/shengtudai/p/13507050.html
Copyright © 2011-2022 走看看