Come posso dire a VIFM di filtrare i file binari, i file “.hi” e i file “.o”?


0

Sono riuscito a filtrare ".hi" e ".o" con:

:filter '\.(o|hi)$'

Ma come faccio a filtrare anche i file binari?


Benvenuto in Super User! Modifica la tua domanda per includere le ricerche che hai svolto da solo nel tentativo di rispondere alla tua domanda. Raccontaci cosa hai provato finora e in particolare dove sei bloccato.
Twisty Impersonator

La domanda è piuttosto semplice. Non sono "bloccato" da nessuna parte, dice chiaramente di cosa ho bisogno. Ho letto l'intero manuale di VIFM e non sono riuscito a trovare un modo ovvio per farlo. Ho chiesto su freenode e nessuno poteva rispondere. Questo è quello che ho fatto.
viclib,

Risposte:


1

Non c'è modo di farlo. È un filtro nome file e i nomi non suggeriscono se il contenuto del file sia binario o meno.

Esistono sostanzialmente due modi per implementarlo:

  • interroga il tipo mime di ogni file
  • esaminare il contenuto di ciascun file per valutarne il tipo

Entrambe le opzioni prevedono la lettura di file, ed è qualcosa che non si vuole fare davvero in quanto può uccidere le prestazioni (guardare i file manager che visualizzano le anteprime dei file, sono piuttosto lenti anche in presenza di cache). Per la seconda opzione sarebbe sufficiente qualcosa come i primi 512 byte, anche se si apre una directory contenente 1000 file ( /usr/binad esempio) tutti questi file dovrebbero trovarsi nella propria memoria, che è molto lenta a meno che non siano già memorizzati nella cache del kernel del sistema operativo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.