ml常用shell命令 - zhongjiajie/zhongjiajie.github.com GitHub Wiki

ml常用shell命令

来源于8 Useful Shell Commands For Data Science

  • wc: 计数常用的命令,
    • wc -l adult.data: 查看文件file_name有多少行
    • wc -w adult.data: 查看文件file_name有多少个子word
    • ls -l <folder> | wc -l: 查看文件夹下面有多少个文件
  • head: 查看文件开头的部分
    • head adult.data: 查看文件开始的部分行,默认是10行
    • head -n 2 adult.data: 查看文件的开始部分,指定了是2行
  • cat: 将两个文件合并成一个文件, 并在屏幕输出
    • cat file_1 file_2 > dest_file: 将file_1和file_2内容和合并到dest_file中,并将file_2放在file_1后面
  • echo: 在屏幕打印相应的内容
    • echo zhongjiajie > adult.data: 覆盖源文件的内容
    • echo zhongjiajie >> adult.data: 在源文件adult.data的基础上增加一行zhongjiajie
  • sed: 流式修改文件的内容
    • sed "s/<string to replace>/<string to replace it with>/g" <source_file> > <target_file>: 将source_file中的内容替换
    • 流程一般如下: grep ", ?," adult.data | wc -w: 查看文件adult.data里面有多少个, ?,
    • sed "s/, ?,/,,/g" src_file > dest_file: sed替换内容并命名为dest_file
  • head tail混用获取文件中间部分行
    • head -n 120 src_file | tail -n 20 > dest_file: 获取src_file的第100-120行
  • tail: 获取文件后面n行的情况
    • tail -n <number> adult.data: 获取文件adult.data后面的n行
  • uniq: 发现重复的行
    • uniq不能统计不相邻的重复行,意味着要对部分数据进行sort排序处理
    • uniq -c: 统计重复的行,并把重复次数放在每行第一个字段
    • uniq -d: 统计重复的行,并只显示重复行
    • uniq -u: 统计重复的行,并只显示非重复行
    • sort adult.data | uniq -d | wc -l: 统计adult.data里面重复的行数
    • sort adult.data | uniq -c | sort -r | head -n 3: 统计adult.data里面重复次数最多的top3条记录sort -r反向
  • cut: 将文件变成和数据库类似的可进行列操作的文件,-d指定文件切割符,-f指定使用字段的index
    • cut -d "," -f 2 adult.data | sort | uniq -c: 按照切割符,切割文件,选择第二个字段,并统计第二个字段的次数

⚠️ **GitHub.com Fallback** ⚠️