linux中常用文本处理命令

Linux中文本处理命令,本文以“henu.txt”文件为例

1、wc命令:对文件行、字数(单词)、字符数做简单统计

参数(-l:仅列出行; -w:仅列出多少字(英文单字); -m:多少字符;)

1)查看文件全部参数

more henu.txt

wc henu.txt

其中16  16  417 分别代表行数、一行中的字符数、总的字符数

2)统计文件行数

wc -l henu.txt

“wc”命令主要统计英文的字符,建议使用此命令查看文件中的行数

 

2、文件内容含有条件的筛选awk

# FS=",":以","分割行, $1:显示第一列,NR:当前所在的行,NF当前行分割的字段数

awk 'BEGIN{FS=","} {print $1 "\t"  $2  "\t"  NR "\t"  NF}'  henu.txt

# 筛选第一列->排序->去重并计算重复次数->按照重复次数排序->重定向到新文件中

awk  'BEGIN{FS=","} {print $1}' henu.txt | sort | uniq -c | sort -rn -k1 > new_henu.txt

 

3、替换字符和删除行sed

1)替换:sed 's/旧字符/新字符/g' ,特殊字符要使用转义

其中正则表达式中,“.”表示任意字符,“*”重复多次

# 表示删除file_name文件中的括号里面的内容和括号,并用空代替

cat file_name | sed 's/(.*)//g' | sed 's/\[.*\]//g'

# 将“河南大学”替换为“河大”

cat henu.txt | sed 's/'河南大学'/'河大'/g' > new_henu.txt

2)删除行

#删除第一行和第二行

cat henu.txt | sed '1,2d' >new_henu.txt

 

4、查找字符grep

#查找“河南大学”

cat henu.txt | grep '河南大学' >new_henu.txt

#正则查找,查找以“大”开头,以“语”结束的字符

cat henu.txt | grep '大.*语' >new_henu.txt

5、其他

1)cut切割字符

# 以“,”切割文件并取出第1列

cat  henu.txt |cut -d ',' -f 1| sort | uniq -c | sort -rn -k1 > new_henu.txt

2)sort排序的时候注意默认是按照字典的方式排序,如果按照数字时则必须加上-n

uniq去除重复,只能去除相邻的重复,所以要先排序,后去除重复

3)查看制表符的命令\t

cat -T file_name

sed -n l file_name(英文字母L的小写,不是管道|)

tr -d 'delete_char'

 

文件内容如下:

2,河南大学,软件工程

3,河南大学,美术

1,河南大学,计算机

4,河南大学,体育

5,河南大学,物理

13,河南科技大学,物理

6,河南大学,化学

1,河南大学,计算机

7,河南大学,计算机

8,河南科技大学,计算机

1,河南大学,计算机

9,河南理工学院,

10,河南工学院,

11,河南大学,英语

12,河南大学,语文

13,河南科技大学,物理

14,河南科技大学,化学

15,河南大学,计算机

13,河南科技大学,物理

13,河南科技大学,物理

16,河南大学,软件工程

参见《鸟哥的私房菜》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值