Linux批量文件操作

1.cp 复制

cp ./* /dest_dir

2.mv 移动

mv ./* /dest_dir

当文件特别多时,./* 会显示列表太长报错,此时需要用到xargs配合使用

3.xargs 当文件特别多,和管道一起使用

ls | xargs -I {} mv ./{} /dest_dir/{} 
cat path.txt | xargs -I {} mv ./{} /dest_dir/{} 
xargs参数
-t 表示先打印命令,然后再执行
-i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。
	-i 只能用{} 代替赋值
	-I 可以用任何符号代替赋值,但是要先指定

4.diff

diff -r directory1 directory2   # diff对文件的每一行都比较,文件多或大时谨慎使用
diff file1 file2 > diff.log
diff file1 file2 -y --suppress-common-lines  # 将两个文件行内容不同部分,拼接成一行输出,以空格+| 符号分隔开
diff file1 file2 -wy --suppress-common-lines  # 比较时忽略行首行尾空格

https://www.jb51.net/article/140596.htm
https://www.cnblogs.com/wf-linux/p/9488257.html

5.uniq

常和sort连用

cat file1 | sort | uniq -d > repeat.log
cat file1 | sort | uniq -d | wc -l

-d 仅显示重复的项
-c 在列旁边显示每项出现的次数
-u 显示只出现了一次(uniq)的项
同时使用wc命令查看显示有多少项重复了或者有多少唯一项

https://www.runoob.com/linux/linux-comm-uniq.html

6.sort

cat file | sort | wc  # 默认将第一列用ASCII次序排列,并将结果打印到标准输出

https://www.runoob.com/linux/linux-comm-sort.html

7.head tail sed

显示输出头尾多少行

cat file.log | head   # 默认是10行
cat file.log | head -n 5
cat file.log | tail
cat file.log | tail -n 5
cat file.log | head -n 2 | tail -n 1 # 打印输出的第二行内容
sed -n '2p'  # 打印第二行内容 2 第二行  p print

https://www.cnblogs.com/shengulong/p/7892242.html
https://www.runoob.com/linux/linux-comm-sed.html # sed

8.wc -l

cat file | wc       #  显示行数  字节数等
cat file | wc -l    #  只显示行数

https://www.runoob.com/linux/linux-comm-wc.html

9.split

split -l 2000 filename.txt -d -a 2 split_file_  
# -l  文件按以多少行为一个子文件划分 上述以每2000行划分一个文件
#  filename.txt  要切割的文件
# -d 子文件命名以数字递增
# -a  命名文件数字的位数  上述以2位数字组合命名 split_file_ 00 split_file_ 01 ........
# split_file_   输出前缀文件名

https://www.runoob.com/linux/linux-comm-split.html
https://www.cnblogs.com/liyichen/p/9878413.html

10.grep

grep -wf file1 file2   # 查看两个文件相同的行
grep -wvf file1 file2  # 查看两个文件不同的行

https://blog.csdn.net/SeaSky_Steven/article/details/86078120

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值