实践 xargs mv 命令!(批量移动文件)

我是一个小说爱好者,最喜欢在MP4,PDA上看纯文本小说。为了防止太大的小说在机子上不支持,编了个小程序splite,命令如下 splite -C n(切成几个小说) filename (文件名)
例如:
原小说:小说.txt ;
splite -C 2 小说.txt ;
结果为:小说0.txt 小说1.txt

比如目录如下:
.
..
2009-10-16 09:31 4,221,270 小市民的奋斗
2010-05-16 10:16 4,281,355 同居万岁.txt
2010-05-16 10:01 4,536,916 家园.txt
2009-10-16 09:12 4,595,467 满愿石.txt
2010-04-10 20:57 4,725,509 回到牧场.txt
2010-05-20 19:27 4,993,841 道缘儒仙.txt
2010-05-10 20:04 5,030,770 caise.txt
2010-05-20 19:19 5,100,507 亵渎.txt
2010-04-04 13:57 5,115,597 妻妾成群.txt
2010-05-16 10:08 5,324,299 无限恐怖.txt
2010-05-09 08:26 5,443,495 单兵作战TXT下
2010-05-16 10:04 5,497,315 星辰变.txt
2010-05-16 10:00 6,232,647 极品家丁.txt
2010-05-19 20:46 6,428,784 都市藏娇.txt
2010-05-10 08:52 6,491,322 panlong.txt
2010-05-20 19:25 6,826,768 流氓高手II.t
2009-03-26 20:57 9,380,782 谋国.txt
2010-05-20 19:18 9,545,364 天心怒.txt
。。。。。。等等

结果:
2010-05-21 21:11 <DIR> .
2010-05-21 21:11 <DIR> ..
2010-05-21 20:58 1,006,154 caise0.txt
2010-05-21 20:58 1,006,154 caise1.txt
2010-05-21 20:58 1,006,154 caise2.txt
2010-05-21 20:58 1,006,154 caise3.txt
2010-05-21 20:58 1,006,154 caise4.txt
2010-05-21 21:11 0 log.txt
2010-05-21 20:58 1,298,264 panlong0.txt
2010-05-21 20:58 1,298,264 panlong1.txt
2010-05-21 20:58 1,298,264 panlong2.txt
2010-05-21 20:58 1,298,264 panlong3.txt
2010-05-21 20:58 1,298,264 panlong4.txt
2010-05-21 20:58 692,751 《弹痕》全本完结0.txt
2010-05-21 20:58 692,751 《弹痕》全本完结1.txt
2010-05-21 20:58 692,751 《弹痕》全本完结2.txt
2010-05-21 20:58 692,751 《弹痕》全本完结3.txt
2010-05-21 20:58 692,751 《弹痕》全本完结4.txt
2010-05-21 20:58 1,020,101 亵渎0.txt
2010-05-21 20:58 1,020,101 亵渎1.txt
2010-05-21 20:58 1,020,101 亵渎2.txt
2010-05-21 20:58 1,020,101 亵渎3.txt
2010-05-21 20:58 1,020,101 亵渎4.txt
2010-05-21 20:58 755,565 仙路烟尘0.txt
2010-05-21 20:58 755,565 仙路烟尘1.txt
2010-05-21 20:58 755,565 仙路烟尘2.txt
2010-05-21 20:58 755,565 仙路烟尘3.txt
2010-05-21 20:58 755,565 仙路烟尘4.txt
2010-05-21 20:58 804,484 佛本是道0.txt
2010-05-21 20:58 804,484 佛本是道1.txt
2010-05-21 20:58 804,484 佛本是道2.txt
2010-05-21 20:58 804,484 佛本是道3.txt
2010-05-21 20:58 804,484 佛本是道4.txt
2010-05-21 20:58 791,121 刺客魔传0.txt
2010-05-21 20:58 791,121 刺客魔传1.txt
2010-05-21 20:58 791,121 刺客魔传2.txt
2010-05-21 20:58 791,121 刺客魔传3.txt
2010-05-21 20:58 791,121 刺客魔传4.txt
2010-05-21 20:58 1,088,699 单兵作战TXT下载0.txt
2010-05-21 20:58 1,088,699 单兵作战TXT下载1.txt
2010-05-21 20:58 1,088,699 单兵作战TXT下载2.txt
2010-05-21 20:58 1,088,699 单兵作战TXT下载3.txt
2010-05-21 20:58 1,088,699 单兵作战TXT下载4.txt
2010-05-21 20:58 856,271 同居万岁0.txt
2010-05-21 20:58 856,271 同居万岁1.txt
2010-05-21 20:58 856,271 同居万岁2.txt
2010-05-21 20:58 856,271 同居万岁3.txt
2010-05-21 20:58 856,271 同居万岁4.txt
2010-05-21 20:58 945,101 回到牧场0.txt
2010-05-21 20:58 945,101 回到牧场1.txt
2010-05-21 20:58 945,101 回到牧场2.txt
2010-05-21 20:58 945,101 回到牧场3.txt
2010-05-21 20:58 945,101 回到牧场4.txt
2010-05-21 20:58 744,703 大宋帝国征服史0.txt
2010-05-21 20:58 744,703 大宋帝国征服史1.txt
2010-05-21 20:58 744,703 大宋帝国征服史2.txt
2010-05-21 20:58 744,703 大宋帝国征服史3.txt
2010-05-21 20:58 744,703 大宋帝国征服史4.txt
2010-05-21 20:58 1,909,072 天心怒0.txt
2010-05-21 20:58 1,909,072 天心怒1.txt
2010-05-21 20:58 1,909,072 天心怒2.txt
2010-05-21 20:58 1,909,072 天心怒3.txt
2010-05-21 20:58 1,909,072 天心怒4.txt
2010-05-21 20:58 653,534 天行健0.txt
2010-05-21 20:58 653,534 天行健1.txt
2010-05-21 20:58 653,534 天行健2.txt
2010-05-21 20:58 653,534 天行健3.txt
2010-05-21 20:58 653,534 天行健4.txt
2010-05-21 20:58 648,160 太平天国0.txt
2010-05-21 20:58 648,160 太平天国1.txt
2010-05-21 20:58 648,160 太平天国2.txt
2010-05-21 20:58 648,160 太平天国3.txt
2010-05-21 20:58 648,160 太平天国4.txt
2010-05-21 20:58 1,023,119 妻妾成群0.txt
2010-05-21 20:58 1,023,119 妻妾成群1.txt
2010-05-21 20:58 1,023,119 妻妾成群2.txt
2010-05-21 20:58 1,023,119 妻妾成群3.txt
2010-05-21 20:58 1,023,119 妻妾成群4.txt
2010-05-21 20:58 907,383 家园0.txt
2010-05-21 20:58 907,383 家园1.txt
2010-05-21 20:58 907,383 家园2.txt
2010-05-21 20:58 907,383 家园3.txt
。。。。等等

寻找大于3m的文本文件,然后切分成5个文件,最后复制到 dong 文件夹
第一步:
find -size +3M | grep /.txt | xargs -n 1 splite -C 5
第二步:
ls | grep [0-4]/.txt | xargs -n 1 -t -I {} mv {} dong

需要注意的地方:
1)xargs -n 1 (很重要,特别是自己编程序,在window下,如果没有“-n 1” 你会得到多管线错误。
2)-t -I {} mv {} dong 中的花括号的位置很重要
第一个{} 表示 出过去的变量, mv 后面的{}不能丢,他起到占位,变量的作用。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以使用Linux的mv命令批量移动文件。例如,如果您想将所有以.txt结尾的文件从当前目录移动到一个名为new_directory的目录中,您可以使用以下命令mv *.txt new_directory/ ### 回答2: 在Linux系统中,可以使用mv命令批量移动文件mv命令用于将文件文件夹从一个位置移动到另一个位置。下面是一些常用的mv命令的用法: 1. 移动单个文件mv文件路径 目标文件路径 例如:将/home/user1/file1.txt移动到/home/user2/目录下 mv /home/user1/file1.txt /home/user2/ 2. 移动多个文件到目标文件夹: mv文件1 源文件2 ... 目标文件夹路径 例如:将/home/user1/目录下的所有.txt文件移动到/home/user2/目录下 mv /home/user1/*.txt /home/user2/ 3. 移动目录及其内容: mv -R 源目录路径 目标目录路径 例如:将/home/user1/source目录及其内容移动到/home/user2/目录下 mv -R /home/user1/source /home/user2/ 需要注意的是,mv命令不会执行复制操作,而是直接移动文件移动后源文件将被删除。如果目标文件路径不存在,则会将源文件或目录重命名为目标文件路径。 此外,也可以结合其他命令来实现文件批量移动的需求。例如使用find命令找到符合条件的文件,然后通过xargs命令将其传递给mv命令进行移动。 总结起来,通过mv命令以及其他一些辅助命令,可以很方便地实现Linux系统中文件批量移动操作。 ### 回答3: 在Linux操作系统中,可以使用mv命令来实现批量移动文件mv命令用于将一个或多个文件或目录移动到另一个目录中。 假设要将多个文件移动到目标目录,可以使用以下命令mv 文件1 文件2 文件3 目标目录 例如,如果要将文件1.txt、文件2.txt和文件3.txt移动到目录/var/files中,可以运行以下命令mv 文件1.txt 文件2.txt 文件3.txt /var/files 如果要一次性移动目录中的所有文件,可以将通配符*用于指定文件名。假设要将当前目录中的所有txt文件移动到/var/files目录中,可以运行以下命令mv *.txt /var/files 此外,如果要移动目录及其所有内容到目标目录,可以使用递归选项-r。假设要将目录/dir1移动到目录/dir2中,可以运行以下命令mv -r /dir1 /dir2 需要注意的是,目标目录必须存在,否则会提示错误。此外,如果目标目录下已经存在相同的文件名,则会被覆盖。 总结起来,要在Linux中批量移动文件,只需使用mv命令,指定要移动文件或目录以及目标目录即可完成。可以使用通配符来指定一组文件,也可以使用递归选项来移动整个目录及其内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值