estrae la linea dalla stessa stringa


-2

Ho un tavolo come questo:

inserisci qui la descrizione dell'immagine

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

inserisci qui la descrizione dell'immagine

Grazie


2
Quale formato per la tabella? file jpeg come nella tua domanda?
Stéphane Chazelas,

è un tavolo txt
Ilario Ferrocino,

Pubblica il testo invece di pubblicare un'immagine.
Gilles,

Risposte:


1

Utilizzando awk:

awk 'FNR == 1 || /potato|apple/'

Utilizzando sed:

sed -n '1p; /potato\|apple/p'

In entrambi i casi, potato|applevengono stampate la riga numero 1 e tutte le righe corrispondenti .


0

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 greprisultato. \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

scusate la tabella è delimitata da tabulazioni e non riesco a scrivere patate e mele perché ho un file con l'elenco di string da estrarre dalla tabella
Ilario Ferrocino,

1
@IlarioFerrocino In tal caso utilizzare head -1e grep -Ff name-of-file-with-strings.
Muru,

@IlarioFerrocino La soluzione più complessa (2a riga) tiene conto dei tabulatori.
syntaxerror,

Ciao Muru non funziona
Ilario Ferrocino
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.