Linux 通过忽略文件名中第一个空格后的所有内容来重命名文件

Linux 通过忽略文件名中第一个空格后的所有内容来重命名文件,linux,unix,linux-development,Linux,Unix,Linux Development,我需要重命名目录中的所有文件,如下所示: 原始文件名:ABC_DEFGHIJK_LMNO周四7月30日07:29:14 CEST 2020 重命名文件名:ABC\u DEFGHIJK\u LMNO 因此,基本上我需要在重命名文件时忽略第一个空格后的所有内容。您可以编写一个简单的bash脚本,如下所示: #!/bin/bash cd /path/to/files for f in * do new_name=$(echo "$f" | cut -d ' ' -f1)

我需要重命名目录中的所有文件,如下所示:

原始文件名:
ABC_DEFGHIJK_LMNO周四7月30日07:29:14 CEST 2020

重命名文件名:
ABC\u DEFGHIJK\u LMNO


因此,基本上我需要在重命名文件时忽略第一个空格后的所有内容。

您可以编写一个简单的bash脚本,如下所示:

#!/bin/bash

cd /path/to/files
for f in *
do
  new_name=$(echo "$f" | cut -d ' ' -f1)
  echo renaming file "$f" to "$new_name"
  # mv "$f" "$new_name"
done

如果输出正常,请取消注释
mv
命令以重命名文件。

谢谢!!!下面的命令在Oracle Linux上工作:用于f in*;做mv“$f”$(回声$f |切-d'-f1);doneOh我的上帝,是的,总是用双引号引用包含文件名的变量。匆忙中差点忘了。