根据模式匹配移动文件

易北河

我有一些文件,其名称如下所示:

XXXXX_S1_X_XX_X.txt
XXXXX_S2_X_XX_X.txt
XXXXX_S3_X_XX_XXX.txt
S4_X_XX_X.txt
XXXXX_S5_XX_X.txt   
...

我创建了一个名为文件夹列表:S1S2S3,...我想移动文件XXXXX_S1_X_XX_X.txt的文件夹中S1,该文件XXXXX_S2_X_XX_X.txt的文件夹中S2等等。我写了这个简单的循环,但是我不知道如何根据对应文件夹中匹配S *的模式复制/移动文件:

for i in My_list_of_folders.txt
do 
  dir=${i%.txt}
  mkdir "$dir"
  cp "$i" "$dir"
done
库萨兰达

略作修改的循环:

for pattern in S1 S2 S3 S4; do
   mkdir -p ./"$pattern"
   for filename in ./*"$pattern"*; do
       [ ! -f "$filename" ] && continue
       mv -i "$filename" "$pattern"/
   done
done

这遍历模式字符串S1S2S3S4内部循环使用当前模式字符串在当前目录中查找包含该字符串任何位置的名称。它会跳过非正规文件(如目录S1S2等他们自己)和移动其他一切针对该模式字符串相应的目录匹配。

正如slm在注释中指出的(现在已删除),在这种情况下,内部循环中的操作可能会缩短为

[ ! -f "$filename" ] || mv -i "$filename" "$pattern"/

或者

[ -f "$filename" ] && mv -i "$filename" "$pattern"/

如果您有重叠的模式,例如S1S11,那么您将需要先做更长的模式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据匹配模式旁边的值分割文件

来自分类Dev

根据文件名中的特定模式移动文件

来自分类Dev

根据某种模式选择和移动独特的文件

来自分类Dev

在外壳程序脚本中移动与模式匹配的文件

来自分类Dev

根据模式匹配删除

来自分类Dev

根据模式匹配从S3删除文件?

来自分类Dev

awk根据变量匹配提取文件中的特定模式

来自分类Dev

在CSV文件中,根据匹配模式获取其他值匹配模式

来自分类Dev

根据内容移动文件

来自分类Dev

使用Linux脚本根据文件名模式查找和移动文件

来自分类Dev

根据某些文件名模式将文件排序并移动到目录中

来自分类Dev

在终端中移动文件名与2种模式匹配的文件

来自分类Dev

如何将所有与模式匹配的文件移动到文件夹中?

来自分类Dev

如何使用grep模式匹配迭代移动文件/文件夹

来自分类Dev

脚本on根据参数移动与文本文件中的记录匹配的文件

来自分类Dev

Bash脚本可根据匹配的ID号将文件移动到文件夹中?

来自分类Dev

根据模式文件排序

来自分类Dev

删除文件匹配模式

来自分类Dev

根据匹配的模式替换匹配项

来自分类Dev

如何根据从文件到另一个文件的模式匹配选择特定行

来自分类Dev

Bash:使用正则表达式移动文件以匹配脚本扩展和固定文本的模式

来自分类Dev

一线式将与模式匹配的文件移动到新目录

来自分类Dev

根据.txt文件中的部分模式将特定文件移动到另一个文件夹

来自分类Dev

重击:移动特定模式的文件

来自分类Dev

移动符合特定模式的文件

来自分类Dev

根据文件名与另一个文件匹配将文件移动到不同的目录中

来自分类Dev

如何根据大小移动文件?

来自分类Dev

PowerShell根据日期移动文件

来自分类Dev

在模式匹配期间防止移动语义

Related 相关文章

  1. 1

    根据匹配模式旁边的值分割文件

  2. 2

    根据文件名中的特定模式移动文件

  3. 3

    根据某种模式选择和移动独特的文件

  4. 4

    在外壳程序脚本中移动与模式匹配的文件

  5. 5

    根据模式匹配删除

  6. 6

    根据模式匹配从S3删除文件?

  7. 7

    awk根据变量匹配提取文件中的特定模式

  8. 8

    在CSV文件中,根据匹配模式获取其他值匹配模式

  9. 9

    根据内容移动文件

  10. 10

    使用Linux脚本根据文件名模式查找和移动文件

  11. 11

    根据某些文件名模式将文件排序并移动到目录中

  12. 12

    在终端中移动文件名与2种模式匹配的文件

  13. 13

    如何将所有与模式匹配的文件移动到文件夹中?

  14. 14

    如何使用grep模式匹配迭代移动文件/文件夹

  15. 15

    脚本on根据参数移动与文本文件中的记录匹配的文件

  16. 16

    Bash脚本可根据匹配的ID号将文件移动到文件夹中?

  17. 17

    根据模式文件排序

  18. 18

    删除文件匹配模式

  19. 19

    根据匹配的模式替换匹配项

  20. 20

    如何根据从文件到另一个文件的模式匹配选择特定行

  21. 21

    Bash:使用正则表达式移动文件以匹配脚本扩展和固定文本的模式

  22. 22

    一线式将与模式匹配的文件移动到新目录

  23. 23

    根据.txt文件中的部分模式将特定文件移动到另一个文件夹

  24. 24

    重击:移动特定模式的文件

  25. 25

    移动符合特定模式的文件

  26. 26

    根据文件名与另一个文件匹配将文件移动到不同的目录中

  27. 27

    如何根据大小移动文件?

  28. 28

    PowerShell根据日期移动文件

  29. 29

    在模式匹配期间防止移动语义

热门标签

归档