移动名称中带有撇号的文件夹

移动名称中带有撇号的文件夹

希望这很容易 - 但无法让它发挥作用。

我需要移动名称中至少有一个撇号/引号的所有文件夹和内容(没有子文件夹)。

有什么指点吗?

答案1

您需要'使用一种常用的转义方法进行转义。顺便说一下,您需要的 glob 模式是*<glob_pattern_here>*/,尾随的/将使 shell 仅匹配目录。

  • 使用反斜杠\

    mv -t /destination/ *\'*/ 
    
  • 使用双引号"

    mv -t /destination/ *"'"*/
    
  • 使用单引号,'这实际上与使用反斜杠相同:

    mv -t /destination/ *''\'''* 
    

您可以echo mv ...先进行一次试运行。将其替换/destination/为您的实际目的地。

此外,如果您想以交互方式进行操作,您可以尝试使用制表符补全。

答案2

我确信有更简单的方法,但这应该可以sh在文件名中没有空格的情况下 工作

mv *[\"\']* 

相关内容