小编use*_*918的帖子

如何用下划线替换文件名中的空格

所以我试图重命名目录中的所有文件,以便它们没有空格。我正在做一个 bash 脚本,我真的不知道该怎么做,我已经尝试了各种引号和转义,但我不确定什么组合可以工作。

#!/bin/bash
#change empty spaces in filenames to underlineos
lsarray="$(echo "$(pwd)""/*")"
for i in $lsarray
do
    if [[ $i == *" "* ]] 
    then
        line=$(echo $i | sed 's/ \+/\_/g')
        j=$(echo $i | sed 's/ \+/\\ /g')
        mv "$j" "$line"
        echo "$i"
        echo "$j"
        echo "$line"
        fi
done
Run Code Online (Sandbox Code Playgroud)

因为 mv 需要“特殊变量扩展”我在上面使用双引号。任何提示表示赞赏。

bash sed shell-script

2
推荐指数
1
解决办法
3657
查看次数

标签 统计

bash ×1

sed ×1

shell-script ×1