脚本 – 从shell脚本中的文件名开始的年月日
发布时间:2020-12-15 18:29:08 所属栏目:安全 来源:网络整理
导读:我有如下文件名 adn_DF9D_20140515_0001.logadn_DF9D_20140515_0002.logadn_DF9D_20140515_0003.logadn_DF9D_20140515_0004.logadn_DF9D_20140515_0005.logadn_DF9D_20140515_0006.logadn_DF9D_20140515_0007.log 我想从文件名中获取年,月,日并创建目录 例:
我有如下文件名
adn_DF9D_20140515_0001.log adn_DF9D_20140515_0002.log adn_DF9D_20140515_0003.log adn_DF9D_20140515_0004.log adn_DF9D_20140515_0005.log adn_DF9D_20140515_0006.log adn_DF9D_20140515_0007.log 我想从文件名中获取年,月,日并创建目录 例:[[! -d“$BASE_DIR / $year / $month / $day”]]&& mkdir -p“$BASE_DIR / $year / $month / $day”; 如何实现这一点,并分享想法/脚本欣赏你
如果文件名在示例中总是如此,则可以使用以下内容:
for x in *.log; do year=${x:9:4}; month=${x:13:2}; day=${x:15:2}; [[ ! -d "$year/$month/$day" ]] && mkdir -p "$year/$month/$day"; done 这个子字符串提取在bash中可用,不确定其他shell. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |