我大约有1000个文件包含*
名称中的字符。我需要找到这些文件,并替换*
了-
。我正在使用HP UX v11。我正在使用以下命令
find . -type f -name '*\**' -exec bash -c 'f="$1"; mv "$f" "${f//\*/-}"' - '{}' \;
有人告诉我它可以工作,但是对我来说,它会将完整文件重命名为,-
而不是替换*
。
GNU bash版本2.04.0(1)-发行版(hppa2.0w-hp-hpux11.00)
确保您正在BASH下运行它。您还可以在HP主机上检查BASH版本吗?
—
anubhava 2014年
谢谢,我用bash版本信息更新了问题
—
RustywithUnix 2014年
好的,那是很老的BASH。您可以运行
—
anubhava 2014年
find . -type f -name '*\**'
以查看是否列出了正确的文件。
是的,列出了正确的文件。问题在于一旦找到重命名。
—
RustywithUnix14年
我升级到4.2来砸和原来的命令作品
—
RustywithUnix