gpt4 book ai didi

linux - 当目录名包含空格并且目录具有特定文件扩展名时,如何循环遍历目录并将它们移动到另一个位置

转载 作者:太空宇宙 更新时间:2023-11-04 05:13:19 25 4
gpt4 key购买 nike

我有一个包含以下目录的文件夹

$ pwd
/d/xxx
'Anupam Roy - Zulfiqar (Original Motion Picture Soundtrack)'/
'Zulm Ka Jawab [1995] [Soundtrack]{Original Release Melody Top Star MCD No. 406 CD}'/

第一个目录包含扩展名为 .flac 的文件列表第二个目录有另一个名为

的文件夹
'Bappi Lahiri - Zulm Ka Jawab (1995) [FLAC] {Melody MCD-406}'/

我的要求是循环遍历/d/xxx 中的所有目录并将它们移动到另一个位置。如果该目录有 flac 文件,我想跳过该目录。

在本例中,我想移动“Bappi Lahiri - Zulm Ka Jawab (1995) [FLAC] {Melody MCD-406}”/并跳过“Anupam Roy - Zulfiqar (Original Motion Picture Soundtrack)”/

我已经写了一个脚本,但它不起作用,因为目录名称有空格

#!/bin/bash
for d in D:/xxx/*/; do
count=`ls -l *.flac 2>/dev/null | wc -l`
if [ -d "$d" ] && [ $count == 0 ]; then
mv $d D:/krishna/
#$echo "$d"
fi
done

最佳答案

我对脚本做了一些修改,现在我从 D:\xxx 运行脚本

#!/bin/bash
for d in */; do
echo $d
cd "$d"
count=`ls -l *.flac 2>/dev/null | wc -l`
cd ..
echo $count
if [ -d "$d" ] && [ $count == 0 ]; then
mv $d D:/krishna/
#$echo "$d"
fi
done

但这会产生错误

$ ./dcdcopy.sh
Anupam Roy - Zulfiqar (Original Motion Picture Soundtrack)/
6
Zulm Ka Jawab [1995] [Soundtrack]{Original Release Melody Top Star MCD No. 406 CD}/
0
mv: cannot stat 'Zulm': No such file or directory
mv: cannot stat 'Ka': No such file or directory
mv: cannot stat 'Jawab': No such file or directory
mv: cannot stat '[1995]': No such file or directory
mv: cannot stat '[Soundtrack]{Original': No such file or directory
mv: cannot stat 'Release': No such file or directory
mv: cannot stat 'Melody': No such file or directory
mv: cannot stat 'Top': No such file or directory
mv: cannot stat 'Star': No such file or directory
mv: cannot stat 'MCD': No such file or directory
mv: cannot stat 'No.': No such file or directory
mv: cannot stat '406': No such file or directory
mv: cannot stat 'CD}/': No such file or directory

关于linux - 当目录名包含空格并且目录具有特定文件扩展名时,如何循环遍历目录并将它们移动到另一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52676606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com