小编mso*_*ico的帖子

使用 IFS 处理文件名中的空格

问题如何重命名文件夹中名称以“_backup”结尾的所有文件@Radu R?deanu 给出了一个对我也有用的好答案:

find . -type f -name '*.jpg_backup' -print0 \
| while IFS= read -r -d '' file ; do mv -- "$file" \
"$(echo $file | sed 's/_backup//g')"; done
Run Code Online (Sandbox Code Playgroud)

不过,我想充分了解他的单行本。确切地说,我不明白的部分是:

while IFS= read -r -d '' file
Run Code Online (Sandbox Code Playgroud)

我知道 IFS 是“内部字段分隔符”,我想这是删除或忽略空格,但我不明白语法和选项。

我也想了解为什么--在 mv 之后是必要的。

有人可以帮忙吗?谢谢。

bash

5
推荐指数
1
解决办法
2332
查看次数

标签 统计

bash ×1