我有一个文件目录,其中一些以下划线结尾。Bash重命名字符串中的最后一个下划线
我想测试每个文件,看它是否以下划线结尾,然后去掉下划线。
我目前运行下面的代码:
for file in *;do
echo $file;
if [[ "${file:$length:1}" == "_" ]];then
mv $file $(echo $file | sed "s/.$//g");
fi
done
但它似乎并没有被重命名使用下划线的文件。例如,如果我有一个名为all_indoors_
的文件,我期望它能给我all_indoors
。
你只是想删除下划线,没有别的?另外,'$ length'在哪里定义? – fedorqui
你的意思是带* off?删除下划线,或下划线和其余文本? –
@fedorqui不知道,认为我犯了一个错误:-) – andlrc