所以我试图重命名目录中的所有文件,以便它们没有空格。我正在做一个 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 需要“特殊变量扩展”我在上面使用双引号。任何提示表示赞赏。