linux shell-怎样利用find命令查到50个文件后就返回,而不是一直查找下去

问题描述

怎样利用find命令查到50个文件后就返回,而不是一直查找下去

现在我在一个目录下可能有多个比如说一万多个文件,这些文件有多个类型,每个文件
类型有不同的后缀格式。比如分别是.a,.b,.c的后缀,现在我要将这些格式的文件分别mv
到不同的目录下。
我现在的思路是用find来找到不同后缀的文件,然后进行mv。但是现在有一个问题,就
是我可能某一个类型的文件会有很多,find很长时间都不能停下,所以如果先全部find然
后再mv不太好。所以我准备50个为一组进行mv,即:我每找到50个.a格式的文件,就进
行一次mv,然后再进行下一次寻找。但是我查了一下资料find没有找到指定数目个文件就
停下的选项。我想问下应该怎么实现。

解决方案

find没有提供,只能自己用python等脚本来处理,判断当前找到的个数,然后再处理

解决方案二:

find $path -name $filename | head -n 50

解决方案三:

1 先find完所有的文件,放在文本里
2 在从文本中每次提取50个进行mv

时间: 2025-01-02 08:36:00

linux shell-怎样利用find命令查到50个文件后就返回,而不是一直查找下去的相关文章

linux shell编程中date命令的用法

在linux shell编程中,经常用到日期的加减运算 以前都是自己通过expr函数计算,很麻烦 其实date命令本身提供了日期的加减运算 非常方便.例如:得到昨天的时间 date +%Y%m%d --date="-1 day" date 用法: date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] date 可以用来显示或设定系统的日期与时间. 令1.在显示方面,使用者可以设定欲显

linux shell与控制抬命令详解

Shell简介 shell 是用户和Linux 操作系统之间的接口.Linux 中有多种shell,其中缺省使用的是bash. Linux 系统的shell 作为操作系统的外壳为用户提供使用操作系统的接口,它是一个命令语言解释器拥有自己内建的shell 命令集.shell 也能被系统中其他应用程序所调用,用户在提示符下输入的命令都由shell 先解释然后传给Linux 核心. Linux 中的shell 有多种类型其中最常用的几种是Bourne shell (sh), C shell(csh 和

linux shell 指令好记速查

    1.访问变量要加$          a=100         echo $a     2.read a #将用户输入内容放入a     3.参数         $0 脚本名字,$# 参数个数,$$ shell脚本进程号,$1...$n 具体参数         $*,$@ 全部参数,前者以$IFS分隔     4.test或者[]         if test -f xxx.c;then   #or [ -f xxx.c ]         ...         fi    

linux shell脚本学习xargs命令使用详解_linux shell

xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据.xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代. xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,下面是一些如何有效使用xargs 的实用例子. 1.

unix中利用Find命令备份根文件系统

在Unix操作系统中有很多命令可以用来备份文件.但是Unix操作系统中根文件系统是一种比较特殊 的文件.通常情况下对这类文件进行备份的话,必须要卸载其他文件系统.因为根文件系统是其他文件 系统的祖宗,如果不卸载的话,会同时备份其他文件系统中的文件.但是如果先卸载其他文件系统再进 行备份的话,那么就会很麻烦.为此在find命令中提供了一个很有用的参数,可以帮助我们实现这个功 能. 一.根文件系统备份的重要性及备份的难点. 当系统发生崩溃时,虽然可以通过重新安装操作系统来恢复.但是这个工作量很大,因

Cash 1.0发布 Linux shell

Cash 是一个C语言编写的Linux shell.主要功能是标签完成,历史文件保存在用户的主目录,并有类似emacs的行编辑.将定期增添更多的新功能. Cash 1.0 是首次稳定发布的版本.它包括使用GNU readline和GNU历史库的行编辑和历史文件写作.日志记录已经更新,现在保持在 ~/.cash_log ,而不是散乱的 /var/log/messages.选项卡上完成文件和目录工程.一个配置文件保存在 ~/.cashrc.可以指定自定义提示. 软件信息:https://github

linux下使用vim修改jar包zip包内文件内容

在平常工作中要经常把打包好的程序发布到linux机器中,有时候需要更改包内的文件,特别是对jar包中的配置文件进行更改后还要重新打包上传.当然也有别的替代方式.  在这介绍一种通过vim命令不解压压缩包直接更改文件内容的方法 cd到jar包所在目录,运行命令 vim xxx.jar vim xxx.jar 1 1 此时便可以看到jar包内根目录下的所有文件 可以使用vim命令进行当前目录下的文件查找,以及gg等相关命令.以log4j.xml文件为例: 1 输入如下查找命令查找文件 /log4j.

利用uniread 解决 Linux下的SQL*Plus 命令行历史回调功能

解决|命令行 利用uniread 解决 Linux下的SQL*Plus 命令行历史回调功能 作者: Fenng 大家知道, 在 Windows 平台 命令行中的 SQL*Plus 有命令行历史回调的功能,在SQL*Plus工具下面,可以利用键盘的"向上向下"箭头键对命令行的进行回调.而在Linux上则没有该功能(虽然 Shell 可以做到这一点,但是 SQL*Plus 不可以). 而该功能对于CLI爱好者来说几乎是不可缺的,不知道为什么 Oracle 不把这个功能加进来.不得而知了.

Linux利用nc命令监控服务器端口的方法_Linux

最近碰到一个项目,前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在需要随时监控这三个端口的情况,一旦down掉需要能够立即告警处理.批量的系统监控比较好的是用nagios软件来实现,这样小项目专门装一个nagios软件,有点繁琐了.在网上查了一些资料,总结实验了一下,可以用简单的nc命令来实现. 一.nc命令检测端口的用法# nc  -v  -w 10 %IP%   -z  %PORT%-v  显示指令执行