1
我有一些unix文件夾(使用不同的名稱),它們應該都有相同的文件名。我想找到不具有特定的文件夾:查找沒有特定文件的文件夾
例如:
A/
-->a.dat
-->b.dat
-->c.dat
B/
-->a.dat
-->b.dat
-->c.dat
C/
-->a.dat
-->c.dat
當尋找b.dat
文件,我怎麼搞清楚的是,C
文件夾沒有它?
我有一些unix文件夾(使用不同的名稱),它們應該都有相同的文件名。我想找到不具有特定的文件夾:查找沒有特定文件的文件夾
例如:
A/
-->a.dat
-->b.dat
-->c.dat
B/
-->a.dat
-->b.dat
-->c.dat
C/
-->a.dat
-->c.dat
當尋找b.dat
文件,我怎麼搞清楚的是,C
文件夾沒有它?
循環遍歷每個目錄,如果它沒有你正在尋找的文件,將它添加到結果列表中。
隨着文件的結構,你上面給了,這個腳本:
#!/bin/bash
result=()
for D in *; do
if [ -d "${D}" ] && ! [ -f "${D}/b.dat" ]; then
result+=("${D}")
fi
done
echo "result is" "${result[@]}"
打印:
result is C
感謝@chepner的bug修復! – andrewdotn
嘗試此類似的問題,但我的腳本只是保持(從上面複製和粘貼)給出錯誤'myscript.sh:3:語法錯誤:「(」意外' 已嘗試** dos2unix **的情況下, 此外,有沒有辦法使用這個完整的文件名不知道,除了結束,例如: '* -1-.jpg' – user1589800