【发布时间】:2019-06-07 11:19:21
【问题描述】:
我有一个名为 20190606_151020 的目录。我想在 files_2019-06-06_15-10-20 中重命名它。以后我不知道当前目录名,但它会是那里唯一的目录,而且我也知道我需要在 files_ 和 2019 之后> 应该是 -。
如何在 BASH 脚本中执行此操作?
我在 bash 中处理字符串非常糟糕:(
【问题讨论】:
我有一个名为 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}"
用法
进入您的特殊目录所在的目录并开始 脚本。
【讨论】: