仅将任意目录中的第一个文件移动到当前目录

仅将任意目录中的第一个文件移动到当前目录

我有两个目录,分别称为1和,目录POSCARS中有文件。当我在目录中时,POSCARS我想只将第一个文件从目录移动POSCARS到目录。11

谢谢你的建议

答案1

如果您只想将目录中的第一个文件移动到当前工作目录,则可以使用for,因为它会按顺序循环遍历文件。将其替换/path/to/为目录的实际路径POSCARS,然后先使用 进行测试echo

for file in /path/to/POSCARS/* ; do echo mv -v -- "$file" . ; break ; done

这将找到第一个文件POSCARS并模拟将其移动到当前工作目录。如果它显示了您想要的内容,则重新运行该命令而无需echo实际移动文件:

for file in /path/to/POSCARS/* ; do mv -v -- "$file" . ; break ; done
  • mv -v --移动文件并报告操作,然后不接受进一步的选项
  • .是当前工作目录
  • break意味着在第一次迭代后中断循环,因此在找到第一个文件后它将停止移动文件

答案2

我假设您具有适当的权限来移动相关文件。假设我在目录中,并且我想将其他目录移动到此处。

~/FirstDir$ mv POSCARS/ .

是一般命令。点 [.] 表示将其移动到这里。

相关内容