首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何删除指定名称的所有文件夹而不删除其中的内容?

如何删除指定名称的所有文件夹而不删除其中的内容?
EN

Ask Ubuntu用户
提问于 2015-01-17 07:29:22
回答 1查看 922关注 0票数 1

如何删除所有具有特定名称的文件夹(例如128Kbps_Songs)而不删除其文件

例如,如果我的目录"MP3_SONGS“中有子目录"A”、"B“、"C”,而且每个子目录中都有许多包含电影名称"FILM_NAME1“、"FILM_NAME2”、"FILM_NAME3“的目录,在每个电影Name中,我在"128Kbps_Songs”文件夹中都有特定的文件夹NAme (128Kbps_Songs),我有那个“电影mp3歌曲文件”

如何删除每个Film_Name目录中的文件夹“Film_Name”,并必须在FILM_NAME中获取这些mp3歌曲。(必须删除所有FILM_NAME中的mp3文件夹而不删除其中的mp3歌曲,必须在FILM_NAME目录中获取mp3。

代码语言:javascript
运行
复制
MP3_SONGS (Parent Directory) ------ A , B, C

A (Sub Directory1) ------ FILM_NAME1 , FILM_NAME2
B (Sub Directory2) ------ FILM_NAME3 , FILM_NAME4
c (Sub Directory3) ------ FILM_NAME5 , FILM_NAME6

FILM_NAME1 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME1 (MP3 Files)
FILM_NAME2 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME2 (MP3 Files)

FILM_NAME3 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME3 (MP3 Files)
FILM_NAME4 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME4 (MP3 Files)

FILM_NAME5 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME5 (MP3 Files)
FILM_NAME6 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME6 (MP3 Files)

Need Files in:
FILM_NAME1 (Directory)  ------ FILM_NAME1 (MP3 Files)
FILM_NAME2 (Directory)  ------ FILM_NAME2 (MP3 Files)

FILM_NAME3 (Directory)  ------ FILM_NAME3 (MP3 Files)
FILM_NAME4 (Directory)  ------ FILM_NAME4 (MP3 Files)

FILM_NAME5 (Directory)  ------ FILM_NAME5 (MP3 Files)
FILM_NAME6 (Directory)  ------ FILM_NAME6 (MP3 Files)
EN

回答 1

Ask Ubuntu用户

发布于 2015-01-17 12:29:04

首先,通过命令将所有MP3文件移动一个级别,如下所示:

代码语言:javascript
运行
复制
find MP3_SONGS -type f -name '*.mp3' -execdir echo mv -v '{}' .. \;
  • -type f选项查找所有文件
  • -name '*.mp3'结尾的.mp3过滤器文件
  • 命令mv -v '{}' ..将针对每个包含匹配文件的子目录运行,该子目录通常不是您开始查找的目录(-execdir的操作)。
  • 字符串“{}”指定在命令的参数中出现的任何地方处理的当前文件名。

注意:运行上述命令后,删除echo命令以执行实际运行的mv命令。

然后尝试删除所有空目录 (128Kbps_Songs目录):

代码语言:javascript
运行
复制
find MP3_SONGS -empty -type d -name '128Kbps_Songs' -delete
  • -empty:File是空的,或者是一个常规文件,或者是一个目录。
  • -type d选项与-type f相同,但这将查找所有目录。
  • -delete删除找到的文件或目录。

有关更多信息,请参见人发现

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/574667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档