Bul türü f-name "* .htm *" -o -name "* .js *" -o -name "* .txt"
İçin Kısa:
Bul \ (\ ( -tipi f -a -adı "* .htm *" \) -o \
\ ( -adı "* .js *" \) -o \
\ ( -adı "* .txt" \) \
\) -a-izi
Yani, hiçbir eylem belirteci belirtilmediğinden (yalnızca koşullar ), -print
koşullarla eşleşen dosyalar için örtük olarak bir eylem eklenir.
(ve bu arada, bu normal olmayan .js
dosyaları ( -type f
sadece .htm
dosyalar için geçerlidir ) yazdıracaktır ).
Süre:
Bul türü f-name "* .htm *" -o -name "* .js *" -o -name "* .txt" \
-exec sh -c 'echo "$ 0"' {} \;
İçin Kısa:
Bul \ ( -tipi f -a -adı "* .htm *" \) -o \
\ ( -adı "* .js *" \) -o \
\ ( -adı "* .txt" -a -exec sh -c 'echo "$ 0"' {} \; \)
İçin find
(birçok dilde benzeri), VE ( -a
; atlanmış zaman örtük) üzerinde önceliğe sahiptir VEYA ( -o
) ve açık bir eylem yüklemi (burada ekleyerek -exec
) iptal -print
yukarıda görülen örtülü eylem. İşte, istiyorsun:
find . -type f \( -name "*.htm*" -o -name "*.js*" -o -name "*.txt" \) \
-exec sh -c 'echo "$0"' {} \;
Veya:
find . -type f \( -name "*.htm*" -o -name "*.js*" -o -name "*.txt" \) -exec sh -c '
for i do
echo "$i"
done' sh {} +
sh
Dosya başına bir çalıştırmayı önlemek için .
*.js*
*.txt