Her dosyaya evet veya hayır yanıtından biraz meraklı bir şey iselect
için, etkileşimli ncurses tabanlı seçim için kullanabilirsiniz . Örneğin
iselect -a -m < list.txt | xargs -d '\n' -r echo rm
veya geçerli dizindeki dosyaların seçilmesine izin vermek için:
find . -maxdepth 1 -type f | iselect -a -m | xargs -d '\n' -r echo rm
Bu, SPACE tuşuna basılarak dosyaların isteğe bağlı olarak seçilebileceği ve seçimlerinin kaldırılabileceği tam ekran (tam terminal) ncurses tabanlı bir liste görüntüler. seçimlerinizi kabul etmek için ENTER tuşuna basın (seçilen girişler stdout'ta yazdırılır) veya q
çıkmak için (stdout'a yazdırılan hiçbir şey). h
yardım için basın .
Not echo rm
- test için böyle yazdım. sadece rm
ne yaptığını anladığınızdan emin olduğunuzda değiştirin .
Ayrıca xargs
burada \n
giriş ayırıcı olarak kullanıldığını unutmayın . Dosya adlarından herhangi birinde satır besleme karakterleri varsa bu çalışmaz. Bu nedenle, iselect
düzgün çalışmaz - satır başına bir öğe bekler - u iselect
maalesef, boş sonlandırılmış giriş veya çıkış için bir seçenek yoktur.
iselect
debian, ubuntu ve diğer dağıtımlar için de paketlenmiştir. ana sayfa http://www.ossp.org/pkg/tool/iselect/ adresinde
y
dosya olsaydı, önceki dosya silinir miydi?