Dosya sistemimde var olup olmadığını kontrol etmek istediğim dosyaların bir listesi var. Bunu şu şekilde kullanarak yapmayı düşündüm find
:
for f in $(cat file_list); do
find . -name $f > /dev/null || print $f
done
(kullanarak zsh
), ancak dosyayı bulsun veya bulmasın çıkmış gibi find
görünmüyor 0
. Ben olmadığını görmek için test başka testte içinden geçebileceği tahmin find
herhangi çıkışı (ham ama etkili değiştirmek şeklinde olur üretir > /dev/null
ile |grep ''
) ama bir keçi yakalamak için bir trol kullanmak gibi bu hissediyor (diğer milletlerden balyoz ve ceviz hakkında bir şey yazabilir ).
find
Bana yararlı bir çıkış değeri vermeye zorlamanın bir yolu var mı ? Ya da en azından bu dosyaların bir listesini almak için değil bulduk? (Mantıksal bağların kurnaz bir seçimiyle ikincisinin belki de daha kolay olduğunu hayal edebilirim, ancak anlamaya çalıştığımda her zaman düğümlerde bağlandığım görünüyor.)
Arkaplan / Motivasyon: "Ana" bir yedeğim var ve bunları silmeden önce yerel makinemdeki bazı dosyaların ana yedeklememde var olup olmadığını kontrol etmek istiyorum (biraz alan yaratmak için). Bu yüzden dosyaların bir listesini hazırladım ssh
, ana makineye düzenledim ve daha sonra eksik dosyaları bulmanın en iyi yolunu bulmaktan zarar gördüm .
locate
dosya sisteminin mevcut durumunu göstermiyor, bir gün hatta bir haftalık olabilir. Bu, yedekleri test etmek için bir temel olarak uygundur.
locate
.