繁体   English   中英

获取文件夹名称并重命名文件名tr Linux bash

[英]Get folder name and rename file name tr Linux bash

我有一个更改文件名的脚本。 它采用目录名称并添加到文件名中。 顺便说一句,使用tr替换一个字符串:

0004目录的名称(此目录是脚本) - DSC_1234.jpg

结果0004_1234.jpg

如果我在特定目录中,该脚本将起作用。 我想在子目录中更改名称

#!/bin/bash
CURRENT=`pwd`
BASENAME=`basename $CURRENT`
echo $BASENAME
for i in ./*DSC*;do mv -- "$i" "${i//DSC/$BASENAME}";done

以下内容适用于子目录:

for i in $(find . -type f); do dir="$(dirname ${i#./})"; mv "$i" "${i//DSC/$(basename $dir)}"; done

您可能希望在bash脚本上使用find (调用该脚本your_script.sh ):

find $ROOT_DIR -type d -exec your_script.sh \;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM