Linux下文件操作

批量重命名文件:

1) 有一批文件,以.bak结尾,现在想把这些.bak 统统去掉。

rename     's/\.bak$//'       *.bak

2) 把所有文件名内含有大小字母的,修改为小写字母。

rename      'y/A-Z/a-z/'      *

和sed的替换语法一样

 

输出开头包含energy的行数

grep -o '^Energy' cnews.train.txt | wc -l

 

输出开头包含energy的行在第几行,并显示内容: 

grep -n '^Energy' cnews.train.txt

 

以分隔符分割文件每行并 取输出分隔符左边内容 

awk -F ‘分隔符’ ‘{print $1}’   

 

取两个文件的交集

cat file1 file2 | sort | uniq -d > file3

 

删除两个文件的交集

cat file1 file2 | sort | uniq -u > file3

 

取两个文件的并集

cat file1 file2 | sort | uniq > file3

 

去除一个文件中的重复行

sort file1 | uniq > file2
注:这里把重复的行统一为一行

sort file1 | uniq -u > file2
注:这里把所有重复的行全部删掉了,一行不留

 

 参考链接:https://www.cnblogs.com/foundwant/p/6098666.html

 

shell 随机从文件中抽取若干行的实现方法

shuf -n5 main.txt

sort -R main.txt | head -5

shuf 命令的选项:

-e, --echo :将每个参数视为输入行
-i, --input-range=LO-HI :将LO 到HI 的每个数字视为输入行
-n, --head-count=行数 : 最多输出指定的行数
-o, --output=文件 :将结果输出到指定文件而非标准输出
--random-source=文件 :从指定文件获得随机比特
-z, --zero-terminated :以0 结束行而非新行
--help :显示此帮助信息并退出
--version :显示版本信息并退出

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值