Ho un tavolo come questo:
e un file contenente 2 stringhe dalla terza colonna come: patata di mele
Vorrei estrarre l'intestazione e tutte le righe che contengono la stringa mela e patata per ottenere questo
Grazie
Ho un tavolo come questo:
e un file contenente 2 stringhe dalla terza colonna come: patata di mele
Vorrei estrarre l'intestazione e tutte le righe che contengono la stringa mela e patata per ottenere questo
Grazie
Risposte:
Ecco di nuovo la tabella txt in testo semplice:
A B C D E
21 63 apple yellow 5
23 69 lemon green 6
45 135 orange yellow 7
67 201 mango green 4
54 162 potato maroon 5
Anche se potrei pensare a una soluzione con bassa complessità, penso che sia un po 'hackish :-) Supponiamo che il file txt della tabella sia chiamato table1
$ head -1 table1 && grep '\b\(potato\|apple\)\b' table1
Questo prenderà la prima riga e vi aggiungerà il grep
risultato. \b
è una parola limite. Quindi questo assicurerà che parole come "grapple (hook)" vengano filtrate :) Un'altra soluzione più complessa supporrà che A, B, C ... siano separate da tabulatori \t
:
$ grep '\(\b\(potato\|apple\)\b\|\([A-Z]\|\(\t\|\n?$\)\)\)' table1
head -1
e grep -Ff name-of-file-with-strings
.