shell脚本识别文件夹内以某个字符串开头的文件

需求描述:

需要读取到文件夹内的文件名,并根据文件名开头的四个字符串来分别放入不同的路径

实现代码

#!/bin/bash -x
time=$(date "+%Y%m%d%H%M%S")
#print $info in screen and write in file
function printAndWrite(){
  info=$1
  echo $info
  echo $info >> log_$time.txt
}

for i in /home/*.tar.gz;
do
	echo $i;
	filename=${i##*/}
	echo $filename;
	if [ ${filename:0:4} = "test" ]
	then
		printAndWrite "you can do st with $i order by test"
	else 
		if [ ${filename:0:4} = "haha" ]
		then
			printAndWrite "you can do st with $i order by haha"
		else
			printAndWrite "you can do st with $i order by others"
		fi
	fi
done

还有另一个小问题,在Windows机器上直接用notepad新建个sh文件,写好代码后上传到linux系统死活报语法错误,后来才发现是文件格式的问题,如图,务必转成Unix(LF)格式,这样才能正常运行;
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值