希望这很容易 - 但无法让它发挥作用。
我需要移动名称中至少有一个撇号/引号的所有文件夹和内容(没有子文件夹)。
有什么指点吗?
答案1
您需要'
使用一种常用的转义方法进行转义。顺便说一下,您需要的 glob 模式是*<glob_pattern_here>*/
,尾随的/
将使 shell 仅匹配目录。
使用反斜杠
\
:mv -t /destination/ *\'*/
使用双引号
"
:mv -t /destination/ *"'"*/
使用单引号,
'
这实际上与使用反斜杠相同:mv -t /destination/ *''\'''*
您可以echo mv ...
先进行一次试运行。将其替换/destination/
为您的实际目的地。
此外,如果您想以交互方式进行操作,您可以尝试使用制表符补全。
答案2
我确信有更简单的方法,但这应该可以sh
在文件名中没有空格的情况下 工作
mv *[\"\']*