如何删除所有具有特定名称的文件夹(例如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。
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)发布于 2015-01-17 12:29:04
首先,通过命令将所有MP3文件移动一个级别,如下所示:
find MP3_SONGS -type f -name '*.mp3' -execdir echo mv -v '{}' .. \;-type f选项查找所有文件-name '*.mp3'结尾的.mp3过滤器文件mv -v '{}' ..将针对每个包含匹配文件的子目录运行,该子目录通常不是您开始查找的目录(-execdir的操作)。注意:运行上述命令后,删除echo命令以执行实际运行的mv命令。
然后尝试删除所有空目录 (128Kbps_Songs目录):
find MP3_SONGS -empty -type d -name '128Kbps_Songs' -delete-empty:File是空的,或者是一个常规文件,或者是一个目录。-type d选项与-type f相同,但这将查找所有目录。-delete删除找到的文件或目录。有关更多信息,请参见人发现。
https://askubuntu.com/questions/574667
复制相似问题