visualizzare i file restituiti dai comandi della shell


0

Molto spesso io grepe findattraverso le directory (di solito contenenti immagini) e devo "controllare" visivamente il risultato prima di poter operare sul risultato (come cancellare, spostare, ecc.). Per esempio:

find ./pictures -iname "*.jpg" -size +2M -not -path "*/holiday/*"
path1/img_2345.jpg
path1/img_2346.jpg
path1/img_2347.jpg

Vorrei quindi controllare rapidamente cosa c'è dietro i nomi dei file. So di poterli solo displayusare, ma a volte ho bisogno di gestire l'output di diverse centinaia di nomi di file, quindi eseguire un comando ciascuno non è un'opzione.

nautilus/ nemoecc. non sono un'opzione né perché le loro capacità di filtro sono troppo limitate (mi piacerebbe davvero usare finde grep)

Quindi ora la mia domanda è: c'è un modo per usare comodamente l'output di strumenti di riga di comando arbitrari come input per un visualizzatore di file / immagini?

Modifica: i commenti mostrano che ho perso alcuni dettagli che sono importanti per me:

  • Il visualizzatore dovrebbe operare sui file effettivi anziché su copie o collegamenti simbolici (come ad es. gwenviewQuando si forniscono file sulla riga di comando). Il motivo è che vorrei essere in grado di eliminare / rinominare / spostare i file.

  • Il visualizzatore interessato dovrebbe conservare le informazioni sulla struttura della directory (per diversi motivi)

    • operare su file diventa difficile quando ho solo il nome
    • a volte il nome del file non è univoco
    • a volte il nome della directory contiene informazioni importanti

Ho iniziato a implementare uno strumento da solo ma ho quella sporca sensazione di reinventare la ruota .. almeno posso mostrarti meglio di cosa sto parlando:

inserisci qui la descrizione dell'immagine

Ovviamente nel campo in basso puoi scrivere qualsiasi comando, i nomi dei file sono elencati nel campo a sinistra. Facendo clic su qualsiasi elemento dell'elenco lo visualizzeresti.

Immagino che questa funzionalità potrebbe già esistere come plug-in per un emulatore di terminale o un file manager, ma non ne conosco nessuno ...

Fino a quando non troverò una soluzione migliore, continuerò lo sviluppo (unisciti a me qui ). Ma mi piacerebbe davvero risparmiare tempo e utilizzare una soluzione esistente.

Come va il tuo flusso di lavoro?


1
Hai provato a usare qualcosa del genere gwenview $( find ./pictures -iname "*.jpg" -size +2M -not -path "*/holiday/*" )? Ovviamente puoi usare qualche altro visualizzatore invece di gwenview. Questa è solo un'idea. Potresti voler citare "" l'output per gestire eventuali spazi o filtrare attraverso awk. In generale non è una buona idea analizzare l'output di ls ... ma per una soluzione rapida può funzionare. Meglio fare uno script e creare una serie di collegamenti simbolici in una directory temporanea che è possibile eliminare uscendo dal visualizzatore.
Hastur,

@Hastur: ho provato questo, ma questo approccio ha due svantaggi: non si adatta bene con una grande quantità di file restituiti dal comando shell e di solito perdi il contesto della directory (non c'è modo di operare su cartelle contenenti ecc.)
frans

E in particolare gwenviewcreerà una cartella contenente tutti i file forniti sulla riga di comando - quindi non c'è più modo di operare su questi file ..
frans

Cerca di essere più chiaro: la tua domanda era "Quindi ora la mia domanda è: c'è un modo per usare comodamente l'output di strumenti di riga di comando arbitrari come input per un visualizzatore di file / immagini?" Questo è$(...) . Puoi ancora copiare o modificare i file. Se hai esigenze specifiche dovresti dirlo per risparmiare tempo. Puoi sempre riprodurre quel comportamento con uno script e, ad esempio, fare l'elenco di ln -s, eseguire il visualizzatore, operare come desideri, uscire dal visualizzatore, fare altre azioni per eliminare il file originale se il collegamento non è più presente ... ci sono molti altri modi per fare tutto con le loro spalle.
Hastur,

1
Utilizzando find -exec o xarg, è possibile creare un collegamento simbolico a tutti i file che soddisfano la condizione in una directory. Quindi puoi facilmente cd in quella directory e rivedere le immagini con quasi tutti i visualizzatori che ti piacciono o anche nautilus.
Gombai Sándor,
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.