bash - 对于 `ls` 中的名称和带空格的文件名

标签 bash special-characters filenames

下一个代码由于文件名中的空格而无法运行,如何解决?

IFS = '\n'
for name in `ls `
do
    number=`echo "$name" | grep -o "[0-9]\{1,2\}"`
    if [[ ! -z "$number" ]]; then
        mv "$name" "./$number"
    fi
done

最佳答案

只是不要使用命令替换:使用 for name in *

关于bash - 对于 `ls` 中的名称和带空格的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8645546/

相关文章:

android - 如何在 Android TextView 中使用土耳其语字符(如 'ş ç ı ö')?

python - 有没有办法找出标准输出在Python中重定向到的文件的名称

python - Inverse glob - 从文件名反向工程通配符字符串

bash - 为什么 bash 按字典顺序而不是数字来评估数字的比较?

bash - 如何将变量从脚本传递到我使用 cat 生成的文件?

bash - 搜索复制的作业

html - &, &amp, & All 在 html 中的行为相似。如何以及为什么?

python - MLFlow 项目; bash : python: command not found

c - 我如何了解这个不寻常角色的值(value)?里面有数字的方阵

ruby - 使用 Ruby 从文件夹中获取所有文件的名称