首页 > 系统相关 >Shell 遍历文件夹

Shell 遍历文件夹

时间:2023-08-27 20:11:15浏览次数:27  
标签:files 遍历 echo Shell 文件夹 result file fi element

例1

 1 #! /bin/bash
 2 read_dir(){
 3   a=0
 4   declare -a arr
 5   for file in `ls $1`
 6   do
 7     a=$a+1
 8     if [ -d $1"/"$file ]
 9     then
10       arr[$a]=$1"/"$file
11       echo $1"/"$file
12     fi
13   done
14   return $((arr))
15 }
16 
17 result=($(read_dir $1))
18 # echo "aaaa:${result[*]}"
19 echo ${#result[@]}
20 for element in ${result[@]}
21 do
22 #  echo "ffmpeg -f concat -i -safe 0 $element/files.txt -c copy $element.ts"
23   # 删除包含df00的行
24   echo "sed -i '/df00/d' $element/files.txt"
25   a='y'
26   if [[ $2 = $a ]]
27   then
28     sed -i '/df00/d' $element/files.txt
29   fi
30   # 删除首行
31   # echo "sed -i '1d' $element/files.txt"
32   # 删除1到10行
33   # echo "sed -i '1,10d' $element/files.txt"
34   echo "ffmpeg -f concat -i $element/files.txt -c copy $element.ts"
35   if [[ $2 = $a ]]
36   then
37     ffmpeg -f concat -i $element/files.txt -c copy $element.ts
38   fi
39   echo "rm -rf $element"
40   if [[ $2 = $a ]]
41   then
42     rm -rf $element
43   fi
44   echo ""
45   echo ""
46 
47 done

例2

 1 read_dir(){
 2   a=0
 3   declare -a arr
 4   for file in `ls $1`
 5   do
 6     a=$a+1
 7     if [ -f $1"/"$file ]
 8     then
 9       arr[$a]=$1"/"$file
10       echo $1"/"$file
11     fi
12   done
13   return $((arr))
14 }
15 
16 result=($(read_dir $1))
17 # echo "aaaa:${result[*]}"
18 if [[ $1 = '.' ]]
19 then
20     echo ${#result[@]}
21     for element in ${result[@]}
22     do
23         filename=${element%.*}
24         suffix=${element##*.}
25         
26         if [[ $suffix != 'ts' ]]
27         then
28             # echo '1'
29             continue
30         fi
31         echo $filename  $suffix
32         if [[ $2 = 'y' ]]
33         then
34             ffmpeg -i $element -c copy $filename.mp4
35             rm -rf $element
36         else
37             echo "ffmpeg -i $element -c copy $filename.mp4"
38             echo "rm -rf $element"
39         fi
40     
41     done
42 fi

 

 

标签:files,遍历,echo,Shell,文件夹,result,file,fi,element
From: https://www.cnblogs.com/watermeloncode/p/17660737.html

相关文章

  • Unity 中删除本地指定文件或文件夹
    voidStart(){//DeleteOldImages("E:\\AerialImages\\2023_08_24_15_57");DeleteDirectory("E:\\AerialImages\\2023_08_24_15_57");}///<summary>///删除指定文件夹下文件///</summary>///<paramname="fullDirP......
  • flutter中通过遍历一个数组,给每个元素添加一个开关按钮怎么写
    要通过遍历一个数组给每个元素添加一个开关按钮,你可以使用ListView.builder来构建一个包含开关按钮的列表。下面是一个示例,展示了如何遍历一个数组并为每个元素添加一个开关按钮:List<bool>switchValues=List.generate(5,(index)=>false);ListView.builder(itemCount:sw......
  • Java使用Jsch执行Shell命令
    JSch是SSH2的纯Java实现。JSch允许您连接到sshd服务器并使用端口转发,X11转发,文件传输等,您可以将其功能集成到您自己的Java程序中。JSch获得BSD格式许可证。最初,我们开发这些东西的动机是允许我们的纯JavaX服务器WiredX的用户享受安全的X会话。所以,我们的努力主要是为了实现用......
  • shell简明教程2退出状态和返回代码
    2退出状态和返回代码在本章中,您将学习如何确定给定命令的退出状态。还将学习如何在脚本中根据不同命令的退出状态做出决定。最后,还将学习如何在自己的脚本中使用退出状态。每次执行命令都会返回一个退出状态。退出状态有时也称为返回代码或退出代码,是范围从0到255的整数。按......
  • 大厂算法每日总结(统计文件夹下的文件)
    //统计文件夹下的文件,是文件就累计1,隐藏文件空累计,文件不累计publicstaticvoidmain(String[]args){System.out.println(getFileNumber("D:\重要文件"));}publicstaticintgetFileNumber(StringfolderPath){Fileroot=newFile(folderPath);if(!root.isDirectory(......
  • 科学网—VBox虚拟机中,deepin系统下共享文件夹 - 苏威的博文 (sciencenet.cn)
    科学网—VBox虚拟机中,deepin系统下共享文件夹-苏威的博文(sciencenet.cn) mount-tvboxsfnn(共享文件夹名称)/home/shared......
  • Python __init__.py—将文件夹设置成Python模块
    介绍包的标识符:__init__.py用于指示Python解释器将包含它的目录标识为一个模块包(modulepackage),所以它可以是一个空文件。但通常会包含一些关于包的元信息,比如包的版本号或作者信息。这些信息可以通过在__init__.py中定义变量来存储,并在包的其他模块中使用。导入模块和变量:......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • 通过修改注册表的方式更改文件夹选项(文件资源管理器选项)
     文件夹选项(在控制面板里面叫做文件资源管理器选项)在注册表中的位置:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]在这个地方下面有很多键值,我通过查资料和自己尝试的方式找到了它们所对应的设置项(有一些实在不知道是什么,只有放在那里......