用于重命名文件的脚本 - 从Android资源文件中删除破折号

时间:2017-04-09 10:20:08

标签: bash

以下脚本查找当前目录中的所有文件(递归)并将短划线字符替换为文件名中的下划线字符

drawable-hdpi/file-name.png

在包含短划线的路径中给出一个文件,例如drawable_hdpi/file_name.png,脚本将尝试将其重命名为sed - 替换目录名称中的短划线以及文件名

我想避免修改目录路径,只重写文件名。

有关如何修改ipconfig /flushdns用法以跳过目录路径的任何建议?

1 个答案:

答案 0 :(得分:2)

shell有一些漂亮的字符串运算符来切断部分变量。您的shell手册页包含所有详细信息。以下是我将如何使用它们:

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
    heightMeasureSpec = MeasureSpec.makeMeasureSpec(999999, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

说明:

find . -type f -name '*.png' | while read FILE; do dir=${FILE%/*} newfile=$(echo "${FILE##*/}" |sed -e 's/-/_/g') mv "${FILE}" "${dir}/${newfile}" done 从右边找到与dir=${FILE%/*} glob匹配的最短部分,删除斜杠和文件名,给出目录。

/*从匹配${FILE##*/}的左侧删除最长的部分,即只留下文件名。