通过Ubuntu命令行批量删除文件名中的空格
使用 Linux 时,您可能会遇到一些实用程序和应用程序仅适用于不包含任何空格的文件名。我们并不总是以这种“无空格”格式保存文件,可能必须寻找一种解决方法来完全删除文件名中的空格。这样,您的文件名将不包含空格,您可以在所有应用程序中轻松使用它们。
在本文中,我们将解释两种从文件名中删除空格的方法,非常简单地通过 Ubuntu 命令行。
我们已在 Ubuntu 22.04 LTS 系统上运行本文中提到的命令和过程。
方法一:通过for循环中的mv命令
在此方法中,我们将在 for 循环中使用 Ubuntu mv 命令,以便重命名目录中的所有文件/文件夹,以便删除所有空格。
通过应用程序启动器搜索或 Ctrl+Alt+T 快捷方式打开 Ubuntu 命令行(终端)。
这是我的示例文件夹中的文件的样子;我已使用 ls 命令列出了内容:
因此,所有文件名都不是包含一个空格,而是每个包含两个空格。
这是我在要重命名其文件的目录中将使用的命令:
for oldname in *; do newname=`echo $oldname | sed -e 's/ //g'`; mv "$oldname" "$newname";
完毕
当我再次列出该目录的内容时,您可以看到所有文件名不再包含任何空格。
方法2:使用bash脚本重命名文件
在此方法中,我们将使用一个 bash 脚本,该脚本使用 mv 命令来重命名文件和文件夹名称,并删除所有空格。
打开终端应用程序并移至 bin 文件夹,如下所示:
cd ~bin
现在,在您最喜欢的文本编辑器之一中打开一个新的脚本文件。我们将使用 Nano 编辑器打开一个名为remove_spaces.sh 的空脚本文件
sudo nano remove_spaces.sh
在该空文件中,添加以下脚本:
#!/bin/bash
(
IFS=$'\n'
for y in $(ls $1)
do
mv $1/`echo $y | sed 's/ /\\ /g'` $1/`echo "$y" | sed 's/ /_/g'`
done
)
提示:您可以从此处复制它并使用 Ctrl+Shift+V 或使用右侧的“粘贴”选项将其粘贴到终端中,而不是将整个脚本输入到 bash 文件中 -单击菜单。
您的文件将如下所示:
现在,通过 Ctrl+X 快捷键退出文件并将文件保存在“保存修改的缓冲区?”中。 ” 提示,输入 Y 然后按 Enter 键。
为了使该文件成为可执行脚本,请在终端中运行以下命令:
sudo chmod +x remove_spaces.sh
现在您可以在任何文件夹中使用该脚本了。
当我在“下载”文件夹中的“示例”目录中运行脚本时,我发现文件名中的所有空格都已删除。当我使用 ls 命令再次列出文件的内容时,您可以看到结果:
因此,您可以通过以下两种方法重命名文件,以便删除名称中的所有空格。现在,您使用的任何应用程序都不会无法识别包含空格的文件名。看看这里如何在 Linux 上删除文件。