我开发了一共linux的shell,功能是将一个目录中的文本文件改名,shell如下:#!/bin/bash
DATA_DATE=$1
cd /home/Oracle/file2/${DATA_DATE}/
for fileName in `ls *${DATA_DATE}.dat`
do
newName=`echo $fileName|sed 's/\_20190905.dat/.dat/g'`
echo ${newName}
mv /home/Oracle/file2/${DATA_DATE}/${fileName} /home/Oracle/file2/${DATA_DATE}/${newName}
done其中 newName=`echo $fileName|sed 's/\_20190905.dat/.dat/g'` 这一行的20190905这个日期参数我一直无法正确的参数话,目前的解决办法是直接写日期,请问正确的参数化应该怎么写?
DATA_DATE=$1
cd /home/Oracle/file2/${DATA_DATE}/
for fileName in `ls *${DATA_DATE}.dat`
do
newName=`echo $fileName|sed 's/\_20190905.dat/.dat/g'`
echo ${newName}
mv /home/Oracle/file2/${DATA_DATE}/${fileName} /home/Oracle/file2/${DATA_DATE}/${newName}
done其中 newName=`echo $fileName|sed 's/\_20190905.dat/.dat/g'` 这一行的20190905这个日期参数我一直无法正确的参数话,目前的解决办法是直接写日期,请问正确的参数化应该怎么写?
解决方案 »
- 在while中用awk去重复,awk只能执行一次
- Linux部署weblogic集群,设置session个共享后,一直报序列化错误,怎么办?
- linux服务器下tmp文件夹总是会莫名生成php开头的木马文件
- Archlinux进入不了系统
- linux小白,求大神解答
- MobaXterm:connection refused
- 安装centos7到移动硬盘,挂载根目录失败。
- 想入门嵌入式linux,不知道从何入手?
- ubuntu 系统出现这种情况怎么办
- 2019.10.6,查看电脑IP地址方式总结
- kvm安装2000失败
- gdm3/lightdm+gnome循环登录,lightdm+gnome普通用户无法登录
要显示成2019-09-05 就是date +%Y-%m-%d
还有-d选项比较常用,比如显示昨天的日期 date -d "1 day ago" +%Y%m%d 或者date -d "yesterday" +%Y%m%d
还有显示小时分钟秒的,星期的,可以看下date命令的帮助
格式rename .txt .bak *.txt 把所有.txt结尾的文件后缀,改成.bak
修改前的 修改后的 需要修改的文件