bash - BASH 缩短文件名包含屏幕截图
问题描述
我想用“Ss”替换当前目录中所有文件的“Screenshot”子字符串(如果容易,添加子文件夹)。目前我有这个代码,但需要完成/替换:
#!/bin/bash
for f in *; do
echo "${f}" | cut -c1-10
done
谢谢
解决方案
for f in *; do
mv $f ${f/Screenshot/Ss}
done
如果需要移动到子目录
mkdir -p foo
for f in *; do
mv $f ./foo/${f/Screenshot/Ss}
done
如果您的文件名包含空格,请确保将变量放在双引号中。
mkdir -p foo
for f in *; do
mv "$f" "${f/origin with space/replace name}"
done
推荐阅读
- java - 操作位于程序文件夹中的 SQLite 数据库
- javascript - 使用 Angular 将 id 与 Cloud firestore 中的数组进行比较
- typescript - 如何在 tsconfig 中使用 baseUrl/paths 设置编译打字稿模块
- selenium - 如何通过 xpath 从具有多个部分相似的链接文本的 HTML 中识别元素?
- asp.net - 无法在 Salesforce OAuth 中获取刷新令牌
- python - Instagram python请求没有API登录
- r - 有条件地将向量的下一个元素附加到前一个元素
- php - Opencart 2.3.0.2黑色背景图片PNG
- c# - 可以在单个项目中拥有 ASP.NET Core MVC 1.0 和 2.0 依赖项吗?
- asp.net - 如何使用 ASP.net 中的 Web 服务将多部分文件图像保存到数据库