在 Linux 上,一个有缺陷的脚本创建的文件夹的名称末尾带有:^M。^M 移至 ? 与 ls -al。
搜索 ? 无法在 ^M(或 ^M)上进行搜索
我怎样才能删除这些文件夹?
您需要的是使用 c 样式字符串,您可以在其中指定^M或 回车符及其反斜杠转义\r。
C 风格的字符串由$单引号组成:$'a c-style string'
找到有问题的目录:
find . -type d -name $'*\r'
Run Code Online (Sandbox Code Playgroud)
列出有问题的目录名称:
ls -d *$'\r'
Run Code Online (Sandbox Code Playgroud)
通过删除尾随的 CR 来重命名有问题的目录。
find . -type d -name $'*\r' -execdir sh -c $'for d; do mv -- "$d" "${d%\r}"; done' _ {} +
Run Code Online (Sandbox Code Playgroud)
删除当前目录中的错误命名目录及其内容:
rm -r -- *$'\r'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
318 次 |
| 最近记录: |