1.test.1目录下有2.test.2,test.3.test.4。使用shell语言替换所有test为no_test
时间: 2024-11-07 16:11:43 浏览: 10
Js使用WScript.Shell对象执行.bat文件和cmd命令
在Shell中,我们可以使用`rename`或者`mv`和通配符配合来批量替换文件名中的特定字符串。假设`test`出现在文件名开头,可以尝试以下方法:
```sh
# 使用 rename 命令 (某些系统需要先安装 rename 或者 prename)
find . -maxdepth 1 -type f -iname 'test.*' -exec rename 's/^test/no_test/' {} \;
# 如果rename不可用,可以使用 mv 和临时文件
# 创建一个空文件用于保存新名字,避免覆盖已存在的文件
touch no_test.0
# 使用 for 循环和 mv 操作
for file in test*; do
new_name="no_test.${file##*.}" # 提取扩展名并添加前缀
mv "$file" "${new_name}"
done
# 删除临时文件
rm no_test.0
# 这段代码会递归查找当前目录(包括test.1、test.2、test.3和test.4),找到以'test'开头的文件,并将它们的名字改为'nol_test'加上原始文件的剩余部分。
阅读全文