Aleksey exec Asked:2020-03-26 03:54:41 +0000 UTC2020-03-26 03:54:41 +0000 UTC 2020-03-26 03:54:41 +0000 UTC 如何移动除少数几个文件夹之外的所有文件夹? 772 如何使用linux控制台 使用 mv 命令将除某些文件夹之外的所有文件夹移动到另一个目录? linux 3 个回答 Voted Best Answer aleksandr barakin 2020-03-26T17:46:30Z2020-03-26T17:46:30Z $ find откуда -mindepth 1 maxdepth 1 -type d -not -name каталог1 -exec mv {} куда \; откуда- 源目录(如果是当前目录,则可以省略) -mindepth 1 -maxdepth 1— 最小和最大搜索深度 -type d- 输入“目录” -not -name имя— 跳过指定的имя. -not -name имя一行可以有多个结构,具有不同的名称 -exec команда \;- 对于找到的所有内容,执行指定的命令 куда- 要将找到的移动到的目录 一个相同的问题,但从技术上讲,它不是重复的,因为 那里我们正在谈论删除,而不是移动(这对于解决“排除某些”任务并不重要):删除文件和文件夹,除了一些 另一个同样相同的问题:将父文件夹复制到子文件夹 AlexGlebe 2020-03-26T04:57:04Z2020-03-26T04:57:04Z 你只需要在bash中练习,学习语法,这并不难。我们对目录中的文件进行循环,选择选项和动作。 #!/bin/bash for file in *; do if [ -d "$file" ]; then case $file in неменя|нет|прикольная) echo "пропускаем $file" ;; *) echo "перемещаем $file" mv $file кудато ;; esac; else echo "$file не папка"; fi done Ainar-G 2020-03-26T19:48:50Z2020-03-26T19:48:50Z 启用选项extglob后,您可以: $ shopt extglob extglob off $ shopt -s extglob $ ls a b c $ mv !(c) foo $ ls c $ ls foo a b
откуда- 源目录(如果是当前目录,则可以省略)-mindepth 1 -maxdepth 1— 最小和最大搜索深度-type d- 输入“目录”-not -name имя— 跳过指定的имя.-not -name имя一行可以有多个结构,具有不同的名称-exec команда \;- 对于找到的所有内容,执行指定的命令куда- 要将找到的移动到的目录一个相同的问题,但从技术上讲,它不是重复的,因为 那里我们正在谈论删除,而不是移动(这对于解决“排除某些”任务并不重要):删除文件和文件夹,除了一些
另一个同样相同的问题:将父文件夹复制到子文件夹
你只需要在bash中练习,学习语法,这并不难。我们对目录中的文件进行循环,选择选项和动作。
启用选项
extglob后,您可以: