Il simbolo "|" viene denominato barra verticale o anche pipe (soprattutto nella comunità Unix). In Unicode ha codice U+007C.
La barra verticale interrotta o barra spezzata verticale (in inglese broken bar, ¦) è un carattere distinto e in Unicode ha codice U+00A6.
Nel layout di tastiera usato in Italia è presente la barra verticale come carattere di secondo livello (shift + \) ma non la barra verticale interrotta; in ogni caso anche se in alcuni font la barra verticale può essere rappresentata come una barra verticale interrotta e viceversa i due rimangono caratteri distinti.
Il nome pipe (in inglese significa tubo, canna o condotto) usato per il carattere "|" è una naturale conseguenza del suo uso nelle shell Unix, dove viene utilizzato per rappresentare il costrutto Unix pipeline.
norma: , si legge "la norma di x con uno, x con due"; Unicode fornisce un simbolo speciale per la linea verticale doppia U+2016: ‖x‖
definizione di insieme: , si legge "l'insieme degli x tali che x sia minore didue". In alcuni casi possono venir usati i due punti ':' invece della barra verticale; altre volte viene utilizzata la sigla "t.c.".
In Backus-Naur form la barra verticale separa i simboli e/o le sequenze con cui si può sostituire il simbolo che si sta definendo. Pertanto, indica una scelta.
<nome proprio>::=<nome> | <iniziale>
Informatica
Unix
Una pipe è un meccanismo di comunicazione interprocesso usato originariamente in Unix che permette all'output (lo standard output e, opzionalmente, lo standard error) di un processo di essere usato come input (standard input) di un altro. In questo modo una serie di comandi può venir collegata ("piped"). Questo caratteristica fornisce agli utenti avanzati la possibilità di creare procedure complesse rapidamente dalla riga di comando o come parte di script della shell UNIX (“batch”). In molte shell Unix (interpreti di comandi), questa caratteristica viene rappresentata dal carattere di barra verticale.
esempio di uso della pipe in UNIX: egrep -i 'blair' filename.log | more
Tradizionalmente la capacità di piping in UNIX viene fornita dalla caratteristica "fork and exec" dei sistemi operativi UNIX. Le shell UNIX creano una copia (forks off) di loro stesse per ogni comando, collegando l'output di ogni comando all'input del successivo. Quando vengono elaborati grandi quantità di dati tutti i processi della “pipeline” possono tipicamente essere attivi nello stesso momento (nei limiti del hardware usato). Usando il meccanismo di pipe UNIX un utente è in grado di creare facilmente un proprio programma composto da un numero (teoricamente) illimitato di piccole e specializzate utility.
DOS/Windows
Questa caratteristica era presente anche in DOS ed è tuttora presente in Microsoft Windows.
Esempio di uso della pipe in DOS:
type *.txt | more
La caratteristica di questo di glifo di essere un operatore del DOS può causare problemi nel caso di applicazioni quali la SQL Server BCP utility (abbreviazione di "Bulk Copy Program"), nelle quali l'utente può voler passare il carattere "|" all'applicazione in maniera letterale. (Ad esempio, quando si prova a fare una copia massiccia di file che usano il carattere | come separatore di campo.) In questi casi il carattere ^ può venire usato per evitare l'uso del pipe. Esempio:
bcp tblImport in ImportFile.txt -c -t^|
Espressioni regolari
Nella sintassi delle espressioni regolari, la barra verticale indica alternativa (come ad esempio l'OR logico). Ad esempio: il commando Unix grep -E 'foo|bar' identifica le stringhe che contengono 'foo' oppure 'bar'.
Disgiunzione
In molti linguaggi di programmazione la barra viene usata per indicare l'operazione logica or, sia per l'orbitwise che per l'orlogico.
In particolare per il C e per i linguaggi che seguono le convenzioni di sintassi del C, come C++, Perl, PHP, Java e C#, (a | b) indica il bitwise or o l'or logico, a seconda del tipo degli operandi; invece la barra verticale doppia (a || b) indica l'or logico con valutazione a corto circuito.
Anche se non è comune come l'uso della virgola o del tabulatore orizzontale la barra verticale può essere usato come delimitatore in un flat file. Un esempio di formato di dati standard delimitato dalla barra verticale è il LEDES 1998B.
Operatore di esecuzione concorrente
Nei calcoli di comunicazione dei processi (come nel caso del π-calcolo), la barra verticale è usata per indicare che i processi vengono eseguiti in parallelo.
Wikipedia
All'interno della sintassi utilizzata da Wikipedia può essere utilizzato per la creazione dei Piped wikilink, cioè di collegamenti ipertestuali in cui il titolo della pagina è diverso dal testo del collegamento[1].
Nonostante la barra verticale sia un carattere accessibile dalle tastiere italiana, inglese e nordamericana vi sono comunque dei casi in cui Web designers, Wiki editors, programmatori e altri utenti hanno bisogno di inserire questo carattere in forma codificata — in genere perché la barra verticale è un simbolo speciale nel loro codice sorgente ed hanno la necessità che sia visualizzata in quanto tale all'utente finale.
Creato nel 1963, l'American Standard Code for Information Interchange (ASCII-1963), una delle prime mappe di caratteri ad essere usata in modo ampio, ha solo 69 caratteri visualizzabili ("stampabili"); A–Z e 0–9 occupano 36 dei caratteri disponibili. La barra verticale ("|") è il carattere dell'ASCII-1963 in posizione 124 (decimale). La barra verticale interrotta ("¦") non fa parte dell'insieme dei caratteri ASCII (in nessuna versione) ma come carattere separato comparve (insieme alla barra verticale) prima nella famiglia dei caratteri EBCDIC e venne copiata da questa nell'ISO 8859 e in Unicode. La tastiera tipicamente usata nel Regno Unito ha tasti separati per la "barra verticale" e per la "barra verticale interrotta"; in ogni caso molti driver per la tastiera inglese attualmente mappano entrambi i caratteri nel carattere ASCII "barra verticale", in quanto la "barra verticale interrotta" difficilmente trova qualche applicazione pratica.