首页 > 解决方案 > 使用 sed 在特定文本之后删除文件名中的空格

问题描述

我的文件很少,文件名如下:

export_<directory_name>_system.indexes .json 

这里的目录不断变化,所以它可以是任何东西

但是 _system.indexes 是恒定的

注意“索引”和“.json”之间的空格。

我想摆脱它们之间的空间,所以预期的文件名如下

export_<directory_name>_system.indexes.json

我尝试了以下方法:

echo export_direcotoryName_system.indexes .json | sed 's/\s\+//'

尽管它确实删除了空间..但它也从其他我不想要的文件中删除了空间。

如何仅将删除限制为文件名中包含system.indexes的文件

标签: regexsed

解决方案


带前名:

prename -n 's/system.indexes .json/system.indexes.json/' *.json

如果everythink 看起来不错,请删除-n.


推荐阅读