The vertical bar (  ) is a computer character and glyph with various uses in mathematics, computing, and typography. It has many names, often related to particular meanings: Sheffer stroke (in logic), vertibar, vbar, stick, vertical line, vertical slash, bar, obelisk, pike, or pipe, and several variants on these names. It is occasionally considered an allograph of broken bar (see below).
Usage
Mathematics
The vertical bar is used as a mathematical symbol in numerous ways:

absolute value: $x$, read "the absolute value of x"

setbuilder notation: $\backslash \{xx<2\backslash \}$, read "the set of x such that x is less than two". Often a colon ':' is used instead of a vertical bar

cardinality: $S$, read "the cardinality of the set S"

conditional probability: $P(XY)$, read "the probability of X given Y"

divisibility: $a\; \; b$, read " a divides b" or " a is a factor of b", though Unicode also provides special ‘divides’ and ‘does not divide’ symbols (U+2223 and U+2224: ∣, ∤)

the Sheffer stroke in logic: $ab$, read " a nand b"

distance: distance $Pab$ notes the shortest distance between point $P$ to line $ab$, so $Pab$ is perpendicular to line $ab$

evaluate (subscript notation): $f(x)\_\{x=4\}$, read " f of x, evaluated at x equals 4" (see at Wikibooks)

length:  s, read "the length of the string s"

restriction: $f\_\{A\}:\; A\; \backslash to\; F$ denotes a restriction of function $f$ where it is defined over a domain that is a superset of $A$

Sometimes a vertical bar following a function, with sub and superscript limits a and b is used when evaluating definite integrals to mean " f( x) from a to b" or " f( b) – f( a)"

A vertical bar can be used to separate variables from fixed parameters in a function, for example $f(x\backslash mu,\backslash sigma)$

The order of a group G is written $G$

The determinant of a matrix A is sometimes written $A$, and when the matrix entries are written out, the determinant is denoted by surrounding the matrix entries by vertical bars instead of the brackets or parentheses of the matrix, for instance

:$\backslash begin\{vmatrix\}\; a\; \&\; b\; \&\; c\backslash \backslash d\; \&\; e\; \&\; f\backslash \backslash g\; \&\; h\; \&\; i\; \backslash end\{vmatrix\}$

Occasionally to denote norms of greaterthanonedimensional vectors (note that absolute value is a onedimensional norm), although a double vertical bar (see below) is more often used to avoid ambiguity.
The double vertical bar, is also employed in mathematics.

norm: $\backslash \backslash mathbf\{x\}\backslash $, read "the norm of the Vector space x"

parallelism in geometry: $AB\; \backslash parallel\; CD$ indicates that the line $AB$ is parallel to the line $CD$

propositional truncation (a Type theory former which truncates a type down to a mere proposition in homotopy type theory): for any $a\; :\; A$ (read "term $a$ of type $A$") we have $a\; :\; \backslash left\backslash \; A\; \backslash right\backslash $
(here $a$ reads " image of $a\; :\; A$ in $\backslash left\backslash \; A\; \backslash right\backslash $" and $a\; :\; \backslash left\backslash \; A\; \backslash right\backslash $ reads " propositional truncation of $A$")
Physics
The vertical bar is used in bra–ket notation in
quantum physics. Examples:

$\backslash psi\backslash rangle$: the quantum physical state $\backslash psi$

$\backslash langle\backslash psi$: the dual space corresponding to the state above

$\backslash langle\backslash psi\backslash rho\backslash rangle$: the inner product of states $\backslash psi$ and $\backslash rho$

supergroups in physics are denoted G( N M) which reads " G, M vertical bar N"; here G denotes any supergroup, M denotes the bosonic dimensions, and N denotes the Grassmann dimensions
[Larus Thorlacius, Thordur Jonsson (eds.), MTheory and Quantum Geometry, Springer, 2012, p. 263.]
Computing
Pipe
A pipe is an interprocess communication mechanism originating in
Unix, which allows the output (standard out and, optionally, standard error) of one process to be used as input (standard in) to another. In this way, a series of commands can be "piped" together, giving users the ability to quickly perform complex multistage processing from the command line or as part of a Unix shell script ("bash file"). In most
(command interpreters), this is represented by the vertical bar character. For example:
[[grep]] i 'blair' filename.log  more
where the output from the "grep" process is piped to the "more" process.
The same "pipe" feature is also found in later versions of DOS and Microsoft Windows.
This usage has led to the character itself being called "pipe".
Disjunction
In many programming languages, the vertical bar is used to designate the logic operation
or, either bitwise
or or
Boolean datatype or.
Specifically, in C and other languages following C syntax conventions, such as C++, Perl, Java and C#, a  b denotes a bitwise or; whereas a double vertical bar a  b denotes a (shortcircuited) logical or. Since the character was originally not available in all and keyboard layouts, ANSI C can transcribe it in form of the C trigraph ??!, which, outside string literals, is equivalent to the  character.
In regular expression syntax, the vertical bar again indicates logical or (alternation). For example: the Unix command grep E 'fubar' matches lines containing 'fu' or 'bar'.
Concatenation
The double vertical bar operator "" denotes string
concatenation in PL/I, standard ANSI
SQL, and theoretical computer science (particularly
cryptography).
Delimiter
Although not as common as commas or tabs, the vertical bar can be used as a
delimiter in a
flat file. Examples of a
pipe delimited standard data format are
LEDES 1998B and HL7. It is frequently used because vertical bars are typically uncommon in the data itself.
Similarly, the vertical bar may see use as a delimiter for regular expression operations (e.g. in sed). This is useful when the regular expression contains instances of the more common forward slash (/) delimiter; using a vertical bar eliminates the need to escape all instances of the forward slash. However, this makes the bar unusable as the regular expression "alternative" operator.
Backus–Naur form
In Backus–Naur form, an expression consists of sequences of symbols and/or sequences separated by '', indicating a choice, the whole being a possible substitution for the symbol on the left.
Concurrency operator
In calculi of communicating processes (like
picalculus), the vertical bar is used to indicate that processes execute in parallel.
APL
The pipe in APL is the modulo or
residue function between two operands and the absolute value function next to one operand.
List comprehensions
The vertical bar is used for list comprehensions in some functional languages, e.g. Haskell and Erlang. Compare setbuilder notation.
Phonetics and orthography
In the Khoisan languages and the International Phonetic Alphabet, the vertical bar is used to write the
dental click (). A double vertical bar is used to write the alveolar lateral click (). Since these are technically letters, they have their own
Unicode code points in the Latin ExtendedB range: U+01C0 for the single bar and U+01C1 for the double bar.
Longer single and double vertical bars are used to mark prosodic boundaries in the IPA.
Literature
Punctuation
In medieval European manuscripts, a single vertical bar was a common variant of the virgula used as a
full stop,
scratch comma,
[.] and caesura mark.
[.]
In Sanskrit and other Indian languages, text blocks used to be written in stanzas. Two bars  represent the equivalent of a pilcrow.
Poetry
A double vertical bar or is the standard
caesura mark in
English language literary criticism and analysis. It marks the strong break or
caesura common to many forms of
poetry, particularly Old English verse.
Notation
In the
Geneva Bible and early printings of the King James Version, a double vertical bar is used to mark
marginalia that contain an alternative translation from the original text. These margin notes always begin with the conjunction "Or". In later printings of the King James Version, the double vertical bar is irregularly used to mark any comment in the margins.
Encoding
The vertical bar is encoded in Unicode at .
Solid vertical bar vs broken bar
The
broken bar (
¦) in computing was historically an
allograph of the vertical bar, and was perceived as such before the broad implementation of
extended ASCII character sets (namely, ISO/IEC 8859 series), which made a distinction between the two forms. Since the 1990s, it has been a separate character (in Unicode and not a part of ASCII; it is termed the "parted rule" in Unicode documentation. However, in some fonts. the glyph used for the vertical bar is identical to the glyph used for a broken bar.
The broken bar is encoded in Unicode at .
Due to historical confusion between the two, computer keyboards and displays may not clearly or consistently differentiate them:

The typical keyboard layout used in the United Kingdom features separate keys for vertical bar and broken bar; however, in many fonts the vertical bar key produces a brokenbar symbol.
Windows keyboard drivers have the vertical bar on , while the broken bar is on the grave accent (`) key, and is typed with .

The ANSI QWERTY keyboard has only one key, which used to be labeled with a broken bar but now more commonly carries a vertical bar – since it always produces a vertical bar character.

On many , the “> < ” key in the lower left is labelled “> < ¦” but always produces a vertical bar character.

On French AZERTY keyboards, the vertical bar can be produced by pressing on Mac computers or on Windows computers.
The broken bar has hardly any practical application and does not appear to have any clearly identified uses distinct from the vertical bar. In noncomputing use — for example in mathematics, physics and general typography — the broken bar is not an acceptable substitute for the vertical bar. Aforementioned usages in computing rely on the abstract character with code point 124 (0x7C) in ASCII (or ASCIIcompatible code pages) and do not depend on visual rendering, which actually may be a broken bar in some environments.
Some variants of the EBCDIC family of code pages such as EBCDIC 500 distinguished the broken bar from the solid vertical bar.
In common character maps

ASCII, CP437, CP667, CP720, CP737, CP790, CP819, CP852, CP855, CP860, CP861, CP862, CP865, CP866, CP867, CP869, CP872, CP895, CP932, CP991  124 (7Chexadecimal)  N/A[Broken bar is no longer a part of ASCII, since the early 1990s] 
CP775  124 (7Ch)  167 (A7h) 
CP850, CP857, CP858  124 (7Ch)  221 (DDh) 
CP863  124 (7Ch)  160 (A0h) 
CP864  124 (7Ch)  219 (DBh) 
ISO/IEC 88591, 7, 8, 9, 13, CP1250, CP1251, CP1252, CP1253, CP1254, CP1255, CP1256, CP1257, CP1258  124 (7Ch)  166 (A6h) 
ISO/IEC 88592, 3, 4, 5, 6, 10, 11, 14, 15, 16  124 (7Ch)  N/A 
Unicode  U+007C  U+00A6 
EBCDIC (CCSID 500 variant)  187 (BBh)  166 (A6h) 
ShiftJIS MenKuTen  10135  
HTML    ¦ or ¦ 
Additional related Unicode characters:

Double vertical line ( ‖ ): U+2016 used in pairs to indicate norm

Parallel to ( ∥ ): U+2225

Latin letter dental click (⟨ǀ⟩): U+01C0

Latin letter lateral click (⟨ǁ⟩): U+01C1

Symbol 'divides' (⟨∣⟩): U+2223

Various Boxdrawing characters at U+2500 to U+257F
In text processing
In
LaTeX, the vertical bar can be used as delimiter in mathematical mode. The sequence \ creates a double vertical line (a  b \ c is set as
$a\; \; b\; \backslash \; c$). This has different spacing from \mid and \parallel, which are relational operators: a \mid b \parallel c is set as
$a\; \backslash mid\; b\; \backslash parallel\; c$. In LaTeX text mode, the vertical bar produces an
em dash (—). The \textbar command can be used to produce a vertical bar.
The vertical bar is also used as special character in other lightweight markup languages, notably MediaWiki's Wikitext.
See also