首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要脚本来重命名文件,用单个空格替换双空间。

需要脚本来重命名文件,用单个空格替换双空间。
EN

Unix & Linux用户
提问于 2020-06-04 08:29:32
回答 1查看 315关注 0票数 0

有人能帮我找出如何从目录名中删除双空格吗?

我使用的是一个服务,它为我提供了一个文件的目录结构,其中的文件名包含空格。有时目录名包含双空格,而我的一些本地脚本无法处理它。

我想要一个shell命令组合,它将重命名删除双空格的目录。有点像sed 's/ / /g'

幸运的是,没有任何子目录的父母也需要重新命名。

我能找到这样的候选人

代码语言:javascript
运行
复制
sh> find ~/Downloads/Scala_Intro -name '*  *' -print 
/Users/jimka/Downloads/Scala_Intro/SCALAIN_E-Running Average-362/Edward  Cacioppo_2973_assignsubmission_file_
/Users/jimka/Downloads/Scala_Intro/SCALAIN_E-Implement histogram-3169/Edward  Cacioppo_3102_assignsubmission_file_

但是,当我尝试使用xargs来操作这个行序列时,xargs替换似乎删除了双空间。因此,我无法生成命令行mv old-name new-name

代码语言:javascript
运行
复制
sh> find ~/Downloads/Scala_Intro -name '*  *' -print | xargs -I % echo %
/Users/jimka/Downloads/Scala_Intro/SCALAIN_E-Running Average-362/Edward Cacioppo_2973_assignsubmission_file_
/Users/jimka/Downloads/Scala_Intro/SCALAIN_E-Implement histogram-3169/Edward Cacioppo_3102_assignsubmission_file_

我试过以下几种方法,但不起作用。

代码语言:javascript
运行
复制
sh> find ~/Downloads/Scala_Intro -name '*  *' -print | xargs -p -I % mv  "%" `echo "%" | sed 's/  / /g'`
mv /Users/jimka/Downloads/Scala_Intro/SCALAIN_E-Running Average-362/Edward Cacioppo_2973_assignsubmission_file_ /Users/jimka/Downloads/Scala_Intro/SCALAIN_E-Running Average-362/Edward Cacioppo_2973_assignsubmission_file_?...

注意,当xargs询问是否执行mv命令时,加倍的空间已经转换为单个空间。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-06-04 09:13:40

xargsmv相比,我更喜欢rename工具:

根据您拥有的重命名工具:

代码语言:javascript
运行
复制
find ~/Downloads/Scala_Intro -name '*  *' -exec rename -n '  ' ' ' {} +

代码语言:javascript
运行
复制
find ~/Downloads/Scala_Intro -name '*  *' -exec rename -n 's/  / /' {} +

(删除-n选项(试运行),以便在满意输出的情况下实际执行重命名)

或者,如果您想继续使用mv (不需要xargsfind -exec就可以):

代码语言:javascript
运行
复制
find ~/Downloads/Scala_Intro -name '*  *' -exec sh -c 'mv "$1" "${1//  / }"' find-sh {} \;
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/590805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档