首页 > 系统相关 >Linux编写Shell脚本获取指定目录下所有文件并处理

Linux编写Shell脚本获取指定目录下所有文件并处理

时间:2023-12-07 13:22:22浏览次数:38  
标签:Shell last Linux echo file path 编写 filename 目录

Linux编写Shell脚本获取指定目录下所有文件进行处理并保存到新目录

#!/bin/bash

app_name="shell"

path="/dir" #原目录
last_path="/newDir" #新目录



echo "======================start ${app_name}=============================="

if [ -n "$(ls $path)" ]; then
	#echo "recordings is not empty"
	cd $path
	
	for file in *; do
		if [ -f "$file" ]; then # 如果是文件
			#echo "this is a file:$file"
			extension="${file##*.}" # 获取文件名中最后一个点号之后的部分作为后缀
			case $extension in #判断文件类型
				txt)
					mv $file $last_path
					echo $file" is nfo";;
				mp4)
					filename=$(basename "$file" .mjr)
					#echo "文件名(不包含后缀):$filename"
					if [[ "${file}" == *video* ]]; then #视频
						/usr/local/bin/pp-rec $file  $last_path/$filename.mp4
					  
						echo $file" 文件名包含 video"
					elif [[ "${file}" == *audio* ]]; then #语音
					
						/usr/local/bin/pp-rec $file  $last_path/$filename.mp3
						echo  $file" this is audio"  
					fi
					
					rm $file
					echo $file" is mp3";;
				*)
					echo $file" not file type";;
			esac
		elif [ -d "$file" ]; then # 如果是目录
			echo "this is a dir:$file"
		fi
	done

else
    echo "shell is empty"
fi

echo "======================end ${app_name}================================="

标签:Shell,last,Linux,echo,file,path,编写,filename,目录
From: https://www.cnblogs.com/eternality/p/17881796.html

相关文章

  • 0x00 Linux Fundamentals Part 1
    Task1、引言目标:在Linux机器上运行第一条命令会与文件系统进行交互介绍在Linux上的用户和组Task2、背景知识“Linux”这个名称实际上是基于UNIX(另一种操作系统)的多个操作系统的总称。由于UNIX是开源的,Linux的变体具有各种类型和大小-适用不同的用途。例如,Ubuntu和......
  • Linux定时任务
    前言上一篇讲到数据库备份,但是需要手动执行脚步文件,手动这个自然是不太可靠,毕竟有时候如果要避开高峰期,不影响白天用户使用体验,那就只能大晚上(不想熬夜,不想加班)那我们就实现“自动化”吧!定时任务Linux中实现定时任务有很多种方案,我们一个一个都了解一下。chkconfigchkconfig命令是......
  • 反弹Shell的各种姿势-Linux
    反弹Shell-Linux监听方式nc-lnvp7777【监听端】centos:192.168.35.152【被控端】kali:192.168.35.128#监听端执行[root@localhost~]#nc-vvl7777 #Ncat:Version7.50(https://nmap.org/ncat)Ncat:Listeningon:::7777Ncat:Listeningon0.0.0.0:777......
  • 我的PyCharm为什么在linux下打不开?
    PyCharm打不开解决方案本文基于Xrdp远程连接桌面环境,UnbutuLinuxOS,解决办法仅供参考。应以实际情况为准。问题产生的原因,Xrdp下GUI绘制依赖于Xrdp的渲染,当Xrdp产生问题的时候,PyCharm并不会因为Xrdp的崩溃而被系统Kill掉,PyCharm在linux下的操作逻辑,及多窗口运行的基本逻辑,在寄......
  • linux 安装mysql
    1、到指定目录下下载安装包[root@master~]#cd/usr/local/src2、下载mysql8[root@mastersrc]#wgethttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 3、解压mysql8,通过xz命令解压出tar包(这里时间可能会久一点根据服务器......
  • 查看linux负载情况
    1.cpu负载平均负载:指的是单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是单位时间内活跃的进程数。1.1uptime命令20:47:25显示当前系统时间up20:39系统已运行时间loadaverage:1.05,1.07,1.04......
  • Linux7 查看系统版本,禁用登陆错误超过5次的ip
    cat/etc/centos-releaseuname-a #!/bin/bash#定义失败次数的阈值threshold=5#提取登录失败的IP地址failed_ips=$(awk'/Failedpassword/{print$(NF-3)}'/var/log/secure|sort|uniq-c|awk'{if($1>='$threshold')print$2}')......
  • 通过PowerShellPlus示例脚本学习PowerShell之-通过SMO获取SQLServer数据库
    ##=====================================================================##Title:Get-MSSQL-DB-UsingSMO##Description:ShowalldatabasesusingSMOforagivenserverinstance##Author:Idera##Date:1/28/2008##Input:-s......
  • linux - 使用sudo 和 su 切换用户身份
    1.su切换到root身份su-切换到其他普通用户su-lgogs切换到其他普通用户并执行命令su-lgogs-cpwd2.sudo切换到root身份sudo-i切换到root身份sudosu-重新设定root的密码sudopasswdroot以提升的权限执行命令sudoless/etc/sudoers以普通......
  • Linux收包(L2层)
    一、环境说明内核版本:Linux3.10内核源码地址:https://elixir.bootlin.com/linux/v3.10/source(包含各个版本内核源码,且王页可全局搜索函数)网卡:Intel的igb网卡网卡驱动源码目录:drivers/net/ethernet/intel/igb/二、Linux启动Linux驱动,内核协议栈等等模块在具备接收网卡数据......