我可以在macOS上使用终端命令“mv”移动几个文件吗?

问题描述 投票:1回答:1

我尝试移动几个文件时遇到此问题。我有3个文件,我需要移动而不需要放置子文件夹。

这些文件具有长名称,这使得任务更加困难。

例:

Lógica_matemática_para_ingeniería_de_sistemas_y_co..._----_(Pg_81--102).pdf
Lógica_matemática_para_ingeniería_de_sistemas_y_co..._----_(Pg_103--122).pdf
Lógica_matemática_para_ingeniería_de_sistemas_y_co..._----_(Pg_123--155).pdf

如何在终端解决这个问题?

我将非常感激。

macos terminal command mv
1个回答
0
投票

如果您只是想在命令行上简化长文件名的输入,那么在bash中可以使用tab键来简化输入。例如输入命令的开头,例如mv L然后点击Tab键,它将自动完成自动填充,直到名称不明确(例如,直到页码)。自动填充功能使输入这些名称非常容易。

如果你想重命名一堆文件,一个常见的伎俩是

  • 使用ls获取相关文件列表并使用sed构建重命名这些文件的脚本,例如: $ ls L * | sed's / ^ [^ 0-9] * \([0-9] * \) - \([0-9] * \))。pdf / mv“&”Pages \ 1- \ 2.pdf /” 这会查找一串不是数字的字符,然后在--之前和之后抓取数字,然后输出一个字符串mv,后跟原始名称,后跟包含页码的新名称。我知道它有点毛茸茸,但它是正则表达式的力量。这实际上并没有进行重命名,而是创建了可以在您选择重命名的命令。 无论如何,它产生如下文本输出: mv“Lógica_matemática_para_ingeniería_de_sistemas_y_co... _ ---- _(Pg_103--122).pdf”Pages103-122.pdf mv“Lógica_matemática_para_ingeniería_de_sistemas_y_co...... _ ----(Pg_123--155).pdf”Pages123-155 .pdf mv“Lógica_matemática_para_ingeniería_de_sistemas_y_co... _ ---- _(Pg_81--102).pdf”Pages81-102.pdf 如果你想找出丰富的替代品,你可以google sed教程/例子。而且,如果它变得非常复杂,还有其他选择,包括awk和/或shell脚本。
  • 无论如何,一旦你目视检查并确定那些生成的mv命令看起来不错,你可以重复这个过程,这次将输出管道输出到sh来实际执行重命名: $ ls L * | sed's / ^ [^ 0-9] * \([0-9] * \) - \([0-9] * \))。pdf / mv“&”Pages \ 1- \ 2.pdf /'| SH

您可以安装其他文件重命名实用程序,但老派的Unix民众通常会让sed为我们完成这个过程。

© www.soinside.com 2019 - 2024. All rights reserved.