Qual è l'opzione p in sed?

Qual è l'opzione p in sed?
In unix/linux, il sed (Stream Editor) Analoga e trasforma i testi con l'aiuto di espressioni regolari. È uno dei primissimi strumenti per supportare le espressioni regolari. Oggi, sed fa parte della specifica UNIX, quindi disponibile su tutti i moderni sistemi UNIX/Linux per impostazione predefinita.

Mentre ci sono numerosi modi per usare sed, Daremo un'occhiata al P Opzione (con esempi) in questa guida.

Uso di base SED

Questa sezione offrirà un rapido aggiornamento degli usi di base del sed comando.

La struttura di comando di sed è come segue:

$ sed

Nella maggior parte dei casi, sed è usato per la sua funzione di sostituzione. Dai un'occhiata al seguente esempio:

$ echo "The Quick Brown Fox" | Sed -e 'S/Quick/Quick/'

Qui, il sed Il comando opera sul contenuto di Stdout dal eco comando. Scopri di più su Stdin, Stderr e StDout in Linux. Nell'output, il termine "rapido" viene sostituito con "rapido".

Se volessimo eseguire questa operazione su un file di testo, il comando sarebbe così:

$ sed -e 'S/Quick/Quick/G' Sed -Demo.TXT

Si noti che il contenuto originale del file non è stato modificato. Per modificare il contenuto del file sul posto, dobbiamo aggiungere il flag "-i". Dai un'occhiata al seguente comando:

$ cat sed-demo.TXT
$ sed -i -e 'S/Quick/Quick/G' Sed -Demo.TXT
$ cat sed-demo.TXT

Si noti che abbiamo anche dovuto aggiungere il G opzione nell'espressione in modo che sed Cerca corrispondenze su pattern sull'intero flusso ed esegue l'attività specificata.

L'opzione P in sed

Per modificare come sed Gestisce vari flussi, ci sono numerose opzioni disponibili. Abbiamo esplorato l'uso del G Opzione nel contesto di sedcaratteristica di sostituzione. IL P L'opzione, tuttavia, viene utilizzata solo per la ricerca di uno schema.

Si noti che è maiuscolo p. Il minuto P specifica un'altra opzione in sed. Tutte queste opzioni devono essere utilizzate all'interno della specifica del modello.

  • P: sed Stamperò tutti i contenuti nello spazio del modello corrente.
  • P: sed Stamparrà solo la prima riga di dati nello spazio del modello corrente.

Ricorda come sed Stampa l'output della modifica del flusso sulla console per impostazione predefinita? Con l'aiuto di P E P Opzioni, possiamo controllare quale contenuto Sed verrà stampato sulla console.

Ad esempio, per stampare solo la prima riga, potremmo usare la seguente tecnica:

Echo “Linea 1

Questa è la linea 2 "| sed -n '1p'

Questo potrebbe anche essere ottenuto usando il P opzione:

Echo “Linea 1

Questa è la linea 2 "| sed -n '1p'

Tuttavia, possiamo notare la differenza nei loro comportamenti se includiamo 2 righe nel buffer e stampate entrambe:

Echo “Linea 1

Questa è la linea 2 "| sed -n '1 n; P'

Qui, c'erano due righe nel buffer ma abbiamo stampato solo la prima perché stiamo usando il P opzione.

Conclusione

In questa guida, abbiamo esplorato il P opzione in sed ed esplorato un paio di modi per implementarlo. Questo è solo uno dei tanti modi di usare sed. Questa guida dimostra l'esecuzione di più sostituzioni di sed. Il potere di sed proviene dalla sua attuazione di espressioni regolari. Scopri di più su espressioni regolari in sed.

Mentre sed può trovare i flussi di testo di modifica, se è necessario cercare solo uno schema specifico, quindi grep è la scelta ottimale. Oltre al suo utilizzo di base, il grep Il comando supporta funzionalità avanzate come esclusi determinati elementi, più schemi di stringa e altro ancora. Migliora la tua padronanza del grep comando con 30 esempi grep.

Felice calcolo!