每次读取指定目录、指定数量的文件shell脚本

#!/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
LANG=zh_CN.GB18030
export PATH LANG

ANALYZER_HOME=$(cd "$(dirname "$0")"; pwd)
cd $ANALYZER_HOME

declare -a fileArr

echo $1", "$2
function listDirFile() {
  #fileArr=()
  i=1
  for file in `ls $1|grep -E "\.txt$"`
  do
    if [ -d $1"/"$file ]
      then
        listDirFile $1"/"$file
      else
        f=$1"/"$file
        doing=$1"/"$file.doing
        echo $f" -> "$doing
mv -f $f $doing
        fileArr[$i]=$doing
        i=`expr $i + 1`
        if [ "$i" -gt "$2" ]
          then
            #echo $2" break "$1
            break
        fi
    fi
  done
}

listDirFile $*
i=1
for data in ${fileArr[@]}  
do
  echo $i": "${data/.doing/}
  #mv -f ${data} ${data}.done  
  mv -f $data `echo $data | sed ‘s/doing$/done/‘`
  i=`expr $i + 1`
done

执行

# readFile.sh 目录 数量
readFile.sh /home/user/files 2
时间: 2024-11-05 15:17:42

每次读取指定目录、指定数量的文件shell脚本的相关文章

python之查询指定目录下的最新文件

使用os模块查询指定目录下的最新文件 1 import os 2 3 # 输入目录路径,输出最新文件完整路径 4 def find_new_file(dir): 5 '''查找目录下最新的文件''' 6 file_lists = os.listdir(dir) 7 file_lists.sort(key=lambda fn: os.path.getmtime(dir + "\\" + fn) 8 if not os.path.isdir(dir + "\\" + f

c# 获取指定目录下的所有文件并显示在网页上

参考文献: FileInfo 的使用  https://msdn.microsoft.com/zh-cn/library/system.io.fileinfo_methods(v=vs.110).aspx 网页表格的生成  http://www.w3school.com.cn/html/html_tables.asp C# 通过文件扩展名获取图标和描述 http://www.csframework.com/archive/2/arc-2-20110514-1478.htm   http://ww

javaFile循环列出指定目录下的所有文件(源代码)

package javatest.basic22; import java.io.File; import java.io.IOException; public class FileTest { public void getFileName(File file){ //判断是否是文件 if(file.isFile()){ System.out.println(file.getPath()+file.getName()); }else{ //如果是目录,列出当前目录下所有目录 File[] f

Windows Phone获得IsolatedStorage中指定目录下的所有文件

在Windows Phone 中对隔离存储空间中的文件操作需要通过System.Io.IsolatedStorage下的类进行操作 获得指定文件夹下的所有文件: 参数:是指定文件夹的路径加上通配符,格式:\folder1\* List<string> GetFileNames(string _strFolder) { List<string> returnlst = new List<string>(); using (IsolatedStorageFile stora

使用for循环创建在指定目录下批量创建文件并重命名所有文件

要求1: 使用for循环在/root/scripts/practice/q1/oldboy 目录下创建十个文件.名称依次为: oldboy-1, oldboy-2, ..... oldboy-10. 脚本实现: #!/bin/bash #Question1 shopt -s expand_aliases alias ll="ls -l" cd /root/scripts/practice/q1 #首先判断目录是否存在,不存在则创建目录 if [ ! -e oldboy ] then  

linux复制指定目录下的全部文件到另一个目录中

linux复制指定目录下的全部文件到另一个目录中复制指定目录下的全部文件到另一个目录中文件及目录的复制是经常要用到的.linux下进行复制的命令为cp.假设复制源目录 为 dir1 ,目标目录为dir2.怎样才能将dir1下所有文件复制到dir2下了如果dir2目录不存在,则可以直接使用cp -r dir1 dir2即可.如果dir2目录已存在,则需要使用cp -r dir1/. dir2如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求.ps:di

C#直接删除指定目录下的所有文件及文件夹(保留目录)

? ????#region 直接删除指定目录下的所有文件及文件夹(保留目录) /// <summary> /// 直接删除指定目录下的所有文件及文件夹(保留目录) /// </summary> /// <param name="strPath">文件夹路径</param> /// <returns>执行结果</returns> public bool DeleteDir(string strPath) { try

linux复制指定目录下的全部文件到另一个目录

linux复制指定目录下的全部文件到另一个目录中复制指定目录下的全部文件到另一个目录中文件及目录的复制是经常要用到的.linux下进行复制的命令为cp.假设复制源目录 为 dir1 ,目标目录为dir2.怎样才能将dir1下所有文件复制到dir2下了如果dir2目录不存在,则可以直接使用cp -r dir1 dir2即可.如果dir2目录已存在,则需要使用cp -r dir1/. dir2如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求.ps:di

SHELL编程练习-获得指定目录下的所有文件及文件夹的大小

一.目的编写一个脚本,可以获得指定目录下的所有文件及文件夹的大小.输出的样式与 ls -lh 命令相同.命令执行示例,其中和 ls -lh 命令输出的唯一区别是目录的大小:1.1.ls -lh命令的输出(注意目录大小) [[email protected] ~]# ls -lh /root/dir1/ total 24M drwxr-xr-x 3 root root 4.0K Feb 6 13:54 dir2 drwxr-xr-x 2 root root 4.0K Feb 6 13:55 dir