Come usare il comando sed con regex

Come usare il comando sed con regex

Il comando SED ha un long elenco di operazioni supportate che possono essere eseguite per alleviare il processo di modifica dei file di testo. Consente agli utenti di applicare le espressioni che vengono generalmente utilizzate nei linguaggi di programmazione; Una delle espressioni supportate dal core è l'espressione regolare (Regex).

Il regex viene utilizzato per gestire il testo all'interno dei file di testo, con l'aiuto di regex uno schema che consiste nella stringa e questi schemi vengono quindi utilizzati per abbinare o individuare il testo. Il regex è ampiamente utilizzato in linguaggi di programmazione come Python, Perl, Java e il suo supporto è disponibile anche per programmi di riga di comando come Grep e anche diversi redattori di testo come SED.

Sebbene la semplice ricerca e ordinamento possa essere eseguita utilizzando il comando SED, usando Regex con SED abilita la corrispondenza a livello avanzato nei file di testo. Il regex funziona sulle direzioni dei caratteri utilizzati; Questi caratteri guidano il comando SED per eseguire le attività dirette. In questo articolo, dimostreremo l'uso di Regex con il comando SED e seguito dagli esempi che mostreranno l'applicazione di Regex.

Come usare regex in sed

Questa sezione è la parte fondamentale della scrittura che contiene la spiegazione dettagliata delle espressioni regolari nel contesto SED: iniziamo con esso

Abbinare la parola

Se vuoi trovare la parola che corrisponda esattamente ai caratteri, allora devi specificare i caratteri esatti che corrispondono alla parola: ad esempio, abbiamo un file di testo che contiene l'elenco dei produttori di laptop chiamato come "Laptop.TXT":

Ottiamo il contenuto del file utilizzando il comando menzionato di seguito:

Laptop da $ cat.TXT

Utilizzare il seguente comando aiuterà per ottenere il "Acer" parola:

laptop $ sed -n '/acer/p'.TXT

Abbinamento di tutte le parole iniziano con un carattere specifico

Questo supporto Regex contiene molteplici azioni descritte in questa sezione:

Se vuoi cercare e abbinare le parole che iniziano e termina con un carattere specifico, allora devi usare "*"Accedi tra i personaggi per farlo; Ma si notò che il "*"Il simbolo stampa le parole che iniziano con singolo o multiplo"COME"Ma con singolo"R": Ad esempio, il comando scritto di seguito stamperà tutte le parole che iniziano con singolo o multiplo"UN"E termina con singolo"R":

$ sed -n '/a*r/p' laptop.TXT


Per abbinare la parola che termina con carattere specifico o che contiene solo carattere specificato: il comando scritto di seguito visualizzerà le parole con il carattere "P"O la parola esatta"HP":

$ sed -n '/h \?Laptop p/p '.TXT

Abbinare le parole con carattere specifico

Si noti che è possibile ottenere le parole che contengono qualsiasi carattere con l'aiuto del comando SED: ad esempio, il comando menzionato di seguito troverà le parole che contiene uno di questi personaggi "A", "H" o "D":

$ sed -n '/[ahd]/p' laptop.TXT

Corrispondere alla stringa

È possibile utilizzare il comando SED con espressioni regolari per stampare le stringhe; È possibile stampare tutte le stringhe o puoi anche targeting una stringa specifica utilizzando il carattere di partenza o finale di quella stringa:

Abbiamo usato "file.TXT'Usarlo come esempio in questa sezione; Questo file contiene il seguente contenuto:

$ cat file.TXT

Ad esempio, se si desidera stampare tutte le corde; Il seguente comando ti aiuterà in questo senso:

$ sed -n '/.File \+/p '.TXT

Se vuoi ottenere tutte le corde che iniziano con il personaggio "UN"Quindi devi usare il simbolo delle carote (^) per indicare il carattere iniziale della stringa.

Il comando menzionato di seguito fino a stampare le corde che iniziano con "@":

$ sed -n '^@'.TXT

Inoltre, se vuoi ottenere solo quelle stringhe che finiscono con un carattere specifico, allora devi usare "$"Con quel personaggio. Ad esempio, il comando scritto qui stamperà le stringhe che termina con "#":

File $ sed -n '/#$/p'.TXT

Abbinamento delle righe vuote

Il supporto REGEX del comando SED consente all'utente di stampare/eliminare le righe vuote utilizzando "/^$/"; Il comando seguente stamperà le righe vuote in "Laptop.TXT" file:

$ sed -n '/^$/p' laptop.TXT

Oppure puoi eliminare sostituendo "P" con "D"Nel comando sopra come visualizzato di seguito:

$ sed -n '/^$/d' laptop.TXT

Abbinare il caso della lettera

Il comando SED consente agli utenti di manipolare le parole con un caso di lettera specifica:

Ad esempio, è possibile stampare, eliminare, sostituire le parole del caso della lettera usando il comando SED:

Un file di testo chiamato come "test.TXT"Viene utilizzato in questo esempio, il contenuto di questo file viene stampato utilizzando il comando seguente:

$ cat test.TXT

Abbinare le lettere minuscole

Il seguente comando stamperà tutte quelle parole che contengono lettere minuscole in esse:

Test $ sed -n '/[a -z]/p'.TXT

Abbinare le lettere maiuscole

Oppure puoi stampare le parole che contengono lettere maiuscole emettendo il seguente comando nel terminale:

Test $ sed -n '/[a -z]/p'.TXT

Conclusione

Le espressioni regolari (regex) sono indicate come; Qualsiasi parola o sequenza di caratteri usati per ottenere le parole corrispondenti da qualsiasi file di testo. Forniscono un ampio supporto per diversi linguaggi di programmazione e comandi o programmi Ubuntu. O. L'utilità della riga di comando SED di Ubuntu consente di eseguire diverse attività noiose molto facilmente per eseguire diverse operazioni su file di testo. Abbiamo compilato questa guida per illuminare i vantaggi di unire Regex con sed; Questa joint venture fornisce corrispondenza a livello avanzato e ricerca all'interno dei file di testo. Le espressioni regolari hanno bisogno di aiuto dai caratteri utilizzati per la corrispondenza per eseguire varie attività come l'eliminazione, la stampa, la sostituzione o la gestione dei file di testo.