我有一个名称为20190606_151020的目录。我想在files_2019-06-06_15-10-20中重命名它。将来我将不知道当前目录名称,但是它将是该目录中的唯一目录,并且我也知道我需要创建一个前缀files_,并且在2019年之后应为-。
如何在BASH脚本中执行此操作?
我在bash中处理字符串非常不好:(
分析解答
你的意思是这样的吗?
#!/bin/bash
# find the special directory
name="$(find . -type d -printf %P)"
# split name into parts
year="${name:0:4}"
month="${name:4:2}"
day="${name:6:2}"
hour="${name:9:2}"
min="${name:11:2}"
sec="${name:13:2}"
# rename directory
mv "$name" "files_${year}-${month}-${day}_${hour}-${min}-${sec}"
用法
进入存在特殊目录的目录并开始 剧本。