Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 通过CLI-Ubuntu修改目录中的所有文件名_Linux_Ubuntu_Command Line Interface - Fatal编程技术网

Linux 通过CLI-Ubuntu修改目录中的所有文件名

Linux 通过CLI-Ubuntu修改目录中的所有文件名,linux,ubuntu,command-line-interface,Linux,Ubuntu,Command Line Interface,我对Linux和命令行都是新手。我试图重命名目录中的所有文件(anotherExampleDOM),这样它们就可以简单地附加上“\u2” 例如,“myFile.txt”将变成“myFile_2.txt” 这些文件并非都共享相同的扩展名。我已经研究了与Perl正则表达式结合使用的“rename”命令,但找不到任何我试图实现的示例。我还尝试使用如下所示的for循环,但在意外标记“do”附近收到一个bash语法错误 $ for FILENAME in /home/tnargi/Documents/an

我对Linux和命令行都是新手。我试图重命名目录中的所有文件(anotherExampleDOM),这样它们就可以简单地附加上“\u2”

例如,“myFile.txt”将变成“myFile_2.txt”

这些文件并非都共享相同的扩展名。我已经研究了与Perl正则表达式结合使用的“rename”命令,但找不到任何我试图实现的示例。我还尝试使用如下所示的for循环,但在意外标记“do”附近收到一个bash语法错误

$ for FILENAME in /home/tnargi/Documents/anotherExampleDOM/*; do mv $FILENAME $FILENAME_2; done
我相信这不会是一件很难完成的事情,但我不会有任何进展。任何帮助都将不胜感激。如果需要更多信息,请告诉我。谢谢。

试试这个:

for FILENAME in  /home/tnargi/Documents/anotherExampleDOM/*; do mv $FILENAME `basename $FILENAME .txt`_2.txt; done

你能解释一下这是如何回答这个问题的吗?不幸的是,这只适用于已经具有“.txt”扩展名的文件,对于其他文件,它除了先前的扩展名之外,还将“_2.txt”添加到文件名中。i、 e.exampleFile.xml正在变成exampleFile.xml_2.txt(而不是exampleFile_2.xml)