terminale: come convogliare i risultati di grep per aprire un file

1

Vorrei grep e open un file in un solo comando di terminale.

Supponiamo che io sia in questa directory:

$ ls
1.txt   2.txt   3.txt   4.txt   5.txt

e voglio aprire 3.txt

Pensavo di poter fare ls | grep 3 | open

ma sembra che open non accetti input in pipe. C'è un modo per fare questo?

    
posta Ericson 04.02.2016 - 11:45
fonte

2 risposte

1

Prova open $(ls | grep 3) . A seconda delle tue esigenze specifiche, puoi anche saltare la parte grep e usare open $(ls *3*) (o anche open *3* ) direttamente.

    
risposta data 04.02.2016 - 12:05
fonte
1

Un'altra opzione

find . -name "*3*" -exec open {} \;

Si aprirà su qualsiasi file con 3 in nome dalla directory corrente in giù. Gli spazi e il backslash sono importanti in questo caso.

    
risposta data 04.02.2016 - 15:15
fonte

Leggi altre domande sui tag