最近要处理一个60W+数据的文件,天真的我第一次用了单线程,还满怀自信的以为一天就能跑完。。。。。残酷现实告诉我跑了三天只处理了5w来条(手动捂脸)。总在虚拟机里跑也不是个事儿,灵机一动,我不是有台云主机吗!果断把代码用多线程重写然后放到云主机里(一怒之下开了500个线程,不知道会不会被封。。。),在运行过程中有学到了一些Linux的技巧,在这里记录一下,以后随时补充~

  1. 统计一个文件有多少行

    1
      wc -l filename

    wc其他常用参数

    1
    2
    3
    4
    5
    6
    7
      wc -c filename    #统计字节数。
      wc -l filename #统计行数。
      wc -m filename #统计字符数。这个标志不能与 -c 标志一起使用。
      wc -w filename #统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
      wc -L filename #打印最长行的长度。
      wc --help #显示帮助信息
      wc --version #显示版本信息
  2. 一直在后台运行某程序
    处理那么多数据不能一直盯着啊,做好长久运行的打算。。。。

    1
    nohup your command &    #程序会在后台运行,输出保存在nohup.out里

    ps.慎用超多线程,跑着博客就打不开了。。。。。。

  3. 统计文件夹里文件的个数

    1
    ls -l |grep "^-"|wc -l
  4. 去除重复

    1
    sort -n filename | uniq > result.txt

    最好不要输出到屏幕,建议重定向到文件中