在指定目录查找指定后缀文件的shell脚本代码

代码如下:

#!bin/sh 
# 在指定位置查找指定后缀的文件,包括子目录 
# 用法: 
# findf $1 $2 
# 第一个参数为后缀 
# 查找指定后缀的文件并打印出来 
# link:www.jb51.net
# date:2013/2/26

f() 

  list=`find $2|grep "/.$1/>"` 
  for i in $list 
    do 
    echo $i 
  done 
}

# 打印用法 
print() 

 echo "用法:" 
 echo "$1 /$1 /$2" 
 echo "第一个参数为指定的后缀名,如'h'" 
 echo "第二个参数为指定的目录,如果省略此参数则默认为当前目录" 
 exit -1 
}

# 在当前目录查找 
f1() 

  f "$1" "*" 
}

# 在指定的目录查找 
f2() 

  cd $2 
  f "$1" "*" 
}

if [ "$#" -lt "1" ] 
then 
   echo "给定的参数太少,最少需要一个参数." 
   print "$0" 
fi

if [ "$#" -gt "2" ] 
then 
  echo "给定的参数太多,最多需要二个参数." 
  print "$0" 
fi

if [ "$#" -eq "1" ] 
then 
  f1 $1 
  exit 0 
fi

if [ "$#" -eq 2 ] 
then 
  f2 $1 $2 
  exit 0 
fi

(0)

相关推荐

  • 找出文件中包含指定字段的文件的shell脚本

    复制代码 代码如下: #!/bin/bash find / -name "*.php" > list.txt f=`cat ./list.txt` for n in $f do r=`egrep 'abc' $n` if [ ! "$r" = "" ] ; then echo $n fi done

  • shell判断文件,目录是否存在或者具有权限的代码

    核心代码 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" #这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPath" fi #这里的-d 参数判断$myPath是否存在 if [ ! -d "$myPath"]; then

  • 判断文件是否存在的shell脚本代码

    实现代码一. #!/bin/sh # 判断文件是否存在 # link:www.jb51.net # date:2013/2/28 myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPath" fi # 这里的-d

  • shell替换文件中的文件路径脚本分享

    用法参数1.写有需要替换路径记录的文本,格式:老路径 老名称 新路径 新名称参数2.需要替换的文件的目录参数3.需要替换的文件的类型 复制代码 代码如下: #!/bin/sh function _replace(){basepath=$0> $basepath.logi=1while read linedo        echo "start==========================================================================

  • 合并一个文件夹下多个文件内容的单行shell命令

    合并一个文件夹下多个文件内容: 复制代码 代码如下: find -name "*.log" -exec 'cat' {} \; > test.tmp

  • 使用ShellClass获取文件属性详细信息的实现方法

    首先引用COM组件Microsoft Shell Controls And Automation这里需要注意DLL的属性Embed Interop Type 设为False否则会引起互操作类型异常 代码如下ShellClass sh = new ShellClass();Folder dir = sh.NameSpace(Path.GetDirectoryName(sFile));FolderItem item = dir.ParseName(Path.GetFileName(sFile));s

  • Visual Style中的shellstyle.dll文件修改方法

    Visual Style中的shellstyle.dll文件修改  2007-3-8 11:25:00  作者: Silencer  shellstyle.dll修改 *部分内容参考自whistl3r的Shellstyle Tutorial 预备知识 1.shellstyle.dll的结构 UIFiles: UIFile1:定义窗体及任务列表样式 UIFile2:定义控制面板样式 Resources:资源文件列表 10,11,12:音乐文件夹 13,14,15:图片文件夹 16,17,18:查找

  • 查找目录下同名但不同后缀名文件的shell脚本代码

    因为后台录入的同事,上传文件的时候,给文件取了相同的名字,但不同的后缀名,由于文件路径非常深,大概十层左右,每一层又有几十个文件,所以人工找起来非常麻烦,所以写了个脚本,帮他们实现查找指定目录下所有子目录及文件,找出相同文件名,不同后缀的文件,然后,手动保留其中一个. 复制代码 代码如下: #!/bin/bash  #判断一下脚本参数的问题  if [ $# -ne 1 ];then     echo "Usage find_same.sh direcroty"     exit  f

  • linux下保留文件系统下剩余指定数目文件的shell脚本

    本节内容:保留文件系统下剩余指定数目的文件 例子: 复制代码 代码如下: #!/bin/bash #------------------------------- #Description: Back up your files#site: www.jb51.net#------------------------------- #shell 变量path_source=/mnt/fifth/shell path_backup=/mnt/fifth/backup/shellbackup path

  • shell去掉文件中空行(空白行)的方法详解

    本文详细介绍了使用shell去除文件中的空行的方法,学习下sed.awk.shell文件检测的方法,有需要的朋友可以作个参考. 本节内容:shell去掉文件中空行 1,shell 去掉文件中的空行 复制代码 代码如下: cat filename | sed -e '/^$/d' > filename 2,保留最新的9个文件,其它的文件删除的命令语句 复制代码 代码如下: ls -t | awk '{if(NR>9){print $0}}' |xargs rm -f 附,shell中的特殊变量

  • shell查找当前目录下大于1M的文件的三种方法分享

    1.使用find的参数实现 复制代码 代码如下: [root@xiaobb mnt]# find . -maxdepth 1 -size +1000000c./sys.tar.gz./install.tar.bz2./CTeX_2.9.0.152_Full.exe./php-5.3.6.tar.gz[root@xiaobb mnt]# ls -lhtotal 1.3G-rw-r--r-- 1 root root 1.1G 2011-04-28 11:35 CTeX_2.9.0.152_Full.

  • Byshell后门:无进程无DLL无硬盘文件

    适合读者:入侵爱好者.网络管理员.黑器迷 前置知识:C基本语法 刘流:后门是黑客们永恒的话题,在各大网站如163.Yahoo.北大等相继被黑之后,越来越多的人开始关注服务器的安全,而各种后门技术也空前地火暴起来!今天我们将给大家带来一个重量级后门的使用.编程方法,让广大新手朋友们有好后门玩,让编程技术爱好者有好的后门编程技术可以借鉴.当然,更多的新技术还等你去发掘. Byshell后门:无进程无DLL无硬盘文件无启动项 现在网络上流行的木马后门类工具很多,但可以称为精品的则没有多少,大多数新手们

  • shell对比文件内容脚本分享

    复制代码 代码如下: #!/bin/shfunction _diffab(){x=0for i in `cat $1`;do        for j in `cat $2`;do                if [ $i == $j ];then                        x=1                        break;                fi        done                if [ $x -ne 1 ];then 

  • 后台实时分流文件的shell脚本

    将bill 文件夹下的文件按一定规则(文件名奇偶)拷贝至bill1,bill2 文件夹下.更新bill1,bill2 处理进度标签(更新file.max)file3 为bill 目录下当前最新文件的标签,正常情况下每分钟会更新(格式为:20121016122100) 复制代码 代码如下: #!/bin/bash#for wanggy 2012/10/16bill1=/infosms/bill1bill2=/infosms/bill2file_max=`cat file3`cd /infosms/

  • 批量转换目录下文件编码的shell脚本代码

    一例批量转换目录下文件编码的shell脚本代码. 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8. 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类型不一致需要修改. 例子: 复制代码 代码如下: #!/bin/bash# File Name: iconv.sh# Author: wanggy# site: www.jb51.net#show_file(){    for file in `ls $1`   

随机推荐