首页 > 解决方案 > 移动不包含特定字符串的文件

问题描述

我想使用文件名mv中不包含字母S的文件移动文件。在 mv 手册中找不到任何内容。也许与findor结合grep?它必须区分大小写。

输入:

  file1
  fileS1
  file2
  fileS2

要移动的文件:

  file1
  file2

标签: bashfindmv

解决方案


如果您启用扩展 globbing,您可以在纯 Bash 中进行选择,而无需任何额外的软件,默认情况下它是关闭的:

shopt -s extglob
mv !(*S*) /target/dir

有关更多信息,请extglobbash(1)手册页中搜索(信息在第二个匹配项中)。


推荐阅读