从linux中文件的特定字符创建子文件夹

问题描述 投票:0回答:2

我有以下格式的文件

test_20200328223607.csv >> test_YYYYMMDDHHMMSS.csvtest_20190523112250.csvtest_20180201065548.csv

我需要重命名文件,然后从文件名创建路径,然后将其添加到创建的路径中,格式为2020/03/28 / 3607.csv

示例test_YYYYMMDDHHMMSS.csv >>文件名中的mkdir YYYY / MM / DD,然后将文件重命名为HHMMSS.csv并将其添加到YYYY / MM / DD

来自test_YYYYMMDDHHMMSS.csv的最后一个文件YYYY / MM / DD / HHMMSS.csv

bash rename subdirectory
2个回答
0
投票
您可以使用cut来获取子字符串并以这种方式提取目录名称。可能会有更清洁的解决方案,但类似的方法应该起作用

for i in *.csv do // split the string IFS='_' read -ra ADDR <<< "$i" year = echo ${ADDR[1]} | cut -c1-4 ... get other sub strings ... path = ${year}/${month}/etc mkdir -p $path mv $i ${path}/${seconds} done


0
投票
您可以使用cut来获取子字符串并以这种方式提取目录名称。可能会有更清洁的解决方案,但类似的方法应该起作用

for i in *.csv do year = echo $i | cut -c1-4 ... get other sub strings ... path = ${year}/${month}/etc mkdir -p $path mv $i ${path}/${seconds} done

© www.soinside.com 2019 - 2024. All rights reserved.