python - 使用 shell prefer sed cut 命令和 awk 重命名文件名
问题描述
我想重命名文件名,如下所述
如果文件名是 abc_test_tt_3447.txt 我想要 abc_tt_3447.txt
如果文件名是 abc_test_ff_tt_3447.txt 我想要 abc_tt_3447.txt
如果我想用空替换 test 和 test_ff
我试过用 sed 命令
解决方案
使用 bash :
shopt -s extglob
for file in *_test*; do
echo mv -- "$file" "${file//_test?(_ff)/}""
done
或者:
for file in *_test*; do
[[ $file =~ (.*)_test(_ff)?(.*) ]] &&
echo mv -- "$file" "${BASH_REMATCH[1]}${BASH_REMATCH[3]}"
done
删除echo
完成后的测试。
推荐阅读
- javascript - 我正在尝试在本地主机上使用 ReactJS 提供/查看要在 iframe 中查看的本地 pdf,我不需要部署它
- c++ - http请求正文之前和之后的垃圾
- python - 为什么类属性不记住通过 __iadd__ 方法添加的值?
- swift - 为什么这个 Lottie JSON 动画在构建时没有显示在 UIView 中?
- javascript - Vuetify 文本区域为空或少于 200 个字符的规则
- python-3.x - 根据一列中的条件创建一个新的熊猫列,并从同一数据框中的多列中分配值
- wordpress - Wordpress/Lumberjack - 尝试访问路线时显示 404 页面
- python-3.x - 使用python glob输入文件名片段列表时如何找到所有文件名?
- image - React-native 在同一目录中找不到图像
- python - ConnectionClosedError:在我们收到来自端点 URL 的有效响应之前,连接已关闭: