Bu 'find' komutunun sorunu nedir?


14

Aşağıdaki komutu yürütüyorum ( .tsuzantısı olan tüm dosyaları bulmak ve silmek için):

find . -type f -name "*.ts" –delete

Bir hata görünür:

find: paths must precede expression: `–delete'

Neyi yanlış yaptım?

Yanıtlar:


35

Eksi ( -) yerine tipografik işaretiniz var .

Komutunuzu olarak değiştirin

find . -type f -name "*.ts" -delete

Tam sözdizimi için bkz man find:

HAREKETLER
       -delete

        Dosyaları sil; kaldırma işlemi başarılı olursa true. Kaldırma işlemi başarısız olduysa bir hata mesajı verilir.
        Eğer -delete başarısız find'ın çıkış durumu (zaman sonunda çıkışların) sıfırdan farklı olacaktır. Otomatik
        kullanımı seçeneği -deleteotomatik olarak açar -depth.


Bloglardaki ve zengin metin işlemcilerindeki komutları kopyalama ve yapıştırma konusunda dikkatli olun. Bazı tipografik sembolleri düz metin eşdeğerlerine veya tam tersine dönüştürebilirler.

Bir dahaki sefere notlar için basit metin düzenleyicileri kullanmayı düşünün - düz metin, Markdown veya reStructuredText kullanın.

@AuxTaco'nun belirttiği gibi - bazı bloglar bilgisayarınıza saldırmak için kopyalamanıza güvenebilir .



Bu özel durumda, bu komutun kaynağını bilmiyoruz. Orijinal yazar yanlışsa, --motor onu dönüştürdü . Bütün hikayeyi bilmiyoruz :)
N0rbert

2
Hikayeyi anlatabilirim: Terminalden sunucumuzu dağıtmak için komut kümesinden oluşan bir MS Word belgesine kopyaladım. MS Word bazı durumlarda kısa çizgiyi otomatik olarak sabitler. Sonra bir ya da birkaç yıl sonra bu komutu kopyaladım ve soru açıldı ... Teşekkürler.
Dorad

1
Word yerine Notepad ++ bu durumda kullanmak daha iyidir.
Davidw

1
Kodu düzenlemek için asla bir kelime işlemci kullanmayın. Bu yüzden (büyük bir neden) hala metin editörleri var. İhtiyacınız olan son şey, ikame karakterler veya kelime kaydırmadır.
Joe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.