当前代码:
find . -depth | \
while read LONG; do
SHORT=$( basename "$LONG" | tr '[aeiou]' '[ ]' )
DIR=$( dirname "$LONG" )
if [ "${LONG}" != "${DIR}/${SHORT}" ]; then
mv "${LONG}" "${DIR}/${SHORT}"
fi
done
所以如果我有像aaa abc bdf这样的文件,我会得到文件'''bc''bdf'
我想要这个工作的方式是返回'aaa''bc'bdf'。 (完全删除第二个文件中的a,如果所有字符(文件扩展名除外)都是元音,请忽略它。
答案 0 :(得分:0)
我认为您解决方案的两个问题是:
答案 1 :(得分:0)
删除所有元音:
tr -d aeiou
如果basename(不包括文件扩展名)只是元音:
,请忽略case $SHORT in ''|.*) continue;; esac