ml常用shell命令 - zhongjiajie/zhongjiajie.github.com GitHub Wiki
来源于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
: 按照切割符,
切割文件,选择第二个字段,并统计第二个字段的次数
-