码迷,mamicode.com
首页 > 系统相关 > 详细

Linux文本处理

时间:2021-01-04 10:47:00      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:sed   重复   大小   root   无法   查看   文本文件   表达式   标准输出   

分屏查看文件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(最终)

 

Linux文本处理

标签:sed   重复   大小   root   无法   查看   文本文件   表达式   标准输出   

原文地址:https://www.cnblogs.com/liweikuan/p/14211947.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!