linux – Bash以递归方式替换名称上的许多空格
发布时间:2020-12-14 00:34:46 所属栏目:Linux 来源:网络整理
导读:任何人都可以推荐一个安全的解决方案,从给定的根目录开始递归替换文件和目录名称中带下划线的空格?例如, $tree.|-- a dir| `-- file with spaces.txt`-- b dir |-- another file with spaces.txt `-- yet another file with spaces.pdf 变为: $tree.|-- a_
任何人都可以推荐一个安全的解决方案,从给定的根目录开始递归替换文件和目录名称中带下划线的空格?例如,
$tree . |-- a dir | `-- file with spaces.txt `-- b dir |-- another file with spaces.txt `-- yet another file with spaces.pdf 变为: $tree . |-- a_dir | `-- file_with_spaces.txt `-- b_dir |-- another_file_with_spaces.txt `-- yet_another_file_with_spaces.pdf 我已经复制了另一个用户的问题,这是主要问题,但我需要添加另一个问题: 我正在使用以下解决方案: $find -depth -name '* *' -execdir rename " " "_" {} +; 它工作,但只替换项目(目录或文件)上找到的第一个空格.有关如何制作循环以寻找空间并在它们全部消失时停止的任何想法? 解决方法
如果您没有可用的重命名,或者您不确定您拥有哪个版本,则可以通过以下方式实现:
find . -depth -name '* *' -execdir bash -c 'for i; do mv "$i" "${i// /_}"; done' _ {} + (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- L362 When to Bring up Salary During the Job Interview P
- linux – 如何在Internet连接不可用时使ntpd超时
- linux – MySQL查询,2个类似的服务器,执行时间差2分钟
- LINUX实战:TensorFlowSharp入门使用C#编写TensorFlow人工智
- linux – 在Unix shell中压缩列之间的空格
- linux – 如何在全局中捕获bash中的on_error?
- NFS NIS是Linux网络实现常见登录和主目录的现代良好实践吗?
- linux – 如何检查bash脚本中的依赖项
- linux开放指定端口
- Ansible 拷贝文件或目录