分屏查看文件more/less
more分屏查看,空格按屏查看
less支持按行上下键查看,空格按屏查看
grep 查找 //若想使用正则表达式, 需要 -E选项
grep -E "nice" metadata.txt //正则表达式匹配metadata中,包含nice的行
egrep "nice" metadata.txt //正则表达式匹配metadata中,包含nice的行
grep -E "nice" metadata.txt | wc -l //正则表达式匹配metadata中,包含nice的行,并统计行数,高亮显示
fgrep "$" myfile //查找 “$” 在myfile文件中
fgrep 无法使用正则表达式,适合查找单词
文本分析
wc(word count的缩写)
root@DESKTOP-7T8UG8A:/mnt/i/学术视频/自然语言处理/Linux文本处理技术-试验数据# wc metadata.txt
13096 430363 2766460 metadata.txt
行数 词数 字符数
wc -l 多少行(将\n当成换行字符来统计)
13096 metadata.txt
sort 命令将以默认的方式将文本文件的第一列以ASCII 码的次序排列,并将结果输出到标准输出
sort(默认按ASCAII码排序,输出到标准输出)以行为单位排序
sort file.txt
sort -r file.txt反向
sort -n file.txt 按数值排序
sort file.txt.save > file 覆盖
sort file.txt.save >> file 追加
sort -u file.txt //先排序,再去除重复行(相同sort file | uniq)
uniq删除相邻重复的行
sort file | uniq //先排序,再去除重复行
sort file | uniq |wc -l //先排序,再去除重复行, 再统计行数
sort file.txt | uniq -c //先排序,再去除重复行,并统计频数
tr(字符替换命令)不对源文件改变
tr ‘,‘ ‘\n‘ file.txt//将file.txt文件中的‘ , ‘改为‘\n‘。
cat file.txt | tr ‘,‘ ‘\t‘ 将file文本中的‘,‘改为‘\t‘
cat file.txt | tr ‘,‘ ‘\t‘ |head
tail -n 599 scores.csv | tr ‘,‘ ‘\t‘|sort -n -k 2//截取文件后599行,将文本中的‘,‘改为‘\t‘,以第二列的数值大小排序
tail -n 599 scores.csv | tr ‘,‘ ‘\t‘|sort -n -r -k 2//截取文件后599行,将文本中的‘,‘改为‘\t‘,以第二列的数值大小排序(反序)
sed命令(字符串替换)
egrep "\snice\s" metadata.txt | sed ‘s/nice/GOOD/g‘ //将metadata中包含nice的行,把nice替换为GOOD
cut命令
cat metadata.txt | cut -d ‘|‘ -f3 | less
cat metadata.txt | cut -d ‘|‘ -f3 | tr -sc ‘A-Za-z‘ ‘\n‘//将metadata文本中每行以‘ | ‘分割,取出第三列,将第三列中每个字母组合后面加换行符(切分单词,未排序,未去重)
cat metadata.txt | cut -d ‘|‘ -f3 | tr -sc ‘A-Za-z‘ ‘\n‘ | sort | uniq //将metadata文本中每行以‘ | ‘分割,取出第三列,将第三列中每个字母组合后面加换行符, 按ASCAII码排序,去除重复(切分单词)
cat metadata.txt | cut -d ‘|‘ -f3 | tr -sc ‘A-Za-z‘ ‘\n‘ | sort | uniq -c //记录每个单词的频数
cat metadata.txt | cut -d ‘|‘ -f3 | tr -sc ‘A-Za-z‘ ‘\n‘ | sort | uniq |wc -l
cat metadata.txt | cut -d ‘|‘ -f3 | tr -sc ‘A-Za-z‘ ‘\n‘ | sort | uniq > dict.txt
cat metadata.txt | cut -d ‘|‘ -f3 | tr -sc ‘A-Za-z‘ ‘\n‘ | sort | uniq -c | sort -rn >dict.txt(最终)