# Vertical bar

(Redirected from Pipe (computing))
|
Vertical bar
Punctuation
apostrophe  '
brackets [ ]  ( )  { }  ⟨ ⟩
colon :
comma ,  ،
dash ‒  –  —  ―
ellipsis  ...  . . .
exclamation mark !
full stop, period .
guillemets ‹ ›  « »
hyphen
hyphen-minus -
question mark ?
quotation marks ‘ ’  “ ”  ' '  " "
semicolon ;
slash, stroke, solidus /
Word dividers
interpunct ·
space
General typography
ampersand &
asterisk *
at sign @
backslash \
basis point
bullet
caret ^
dagger † ‡ ⹋
degree °
ditto mark ” 〃
equals sign =
inverted exclamation mark ¡
inverted question mark ¿
komejirushi, kome, reference mark
multiplication sign ×
number sign, pound, hash #
numero sign
obelus ÷
ordinal indicator º ª
percent, per mil % ‰
pilcrow
plus, minus + −
plus-minus, minus-plus ± ∓
prime
section sign §
tilde ~
underscore, understrike _
vertical bar, pipe, broken bar |    ¦
Intellectual property
copyleft 🄯
service mark
Currency
currency sign ¤

؋฿¢\$֏ƒ£元 圆 圓 ¥

Uncommon typography
asterism
fleuron, hedera
index, fist
interrobang
irony punctuation
lozenge
tie
Related
In other scripts
• Category
• Portal
• Book

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), verti-bar, vbar, stick, vertical line, vertical slash, bar, 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"
• cardinality: $|S|$ , read "the cardinality of the set S"
• conditional probability: $P(X|Y)$ , read "the probability of X given Y"
• determinant: $|A|$ , read "the determinant of the matrix A". When the matrix entries are written out, the determinant is denoted by surrounding the matrix entries by vertical bars instead of the usual brackets or parentheses of the matrix, as in ${\begin{vmatrix}a&b\\c&d\end{vmatrix}}$ .
• distance: $P|ab$ , denoting the shortest distance between point $P$ to line $ab$ , so line $P|ab$ is perpendicular to line $ab$ • 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: ∣, ∤)
• evaluation: $f(x)|_{x=4}$ , read "f of x, evaluated at x equals 4" (see subscripts at Wikibooks)
• length: $|s|$ , read "the length of the string s"
• norm: $|\mathbf {v} |$ , read "the norm of the (greater-than-one-dimensional) vector $\mathbf {v}$ " (note that absolute value is a one-dimensional norm), although a double vertical bar (see below) is more often used to avoid ambiguity.
• order: $|G|$ , read "the order of the group G"
• restriction: $f|_{A}$ , denoting the restriction of the function $f$ , with a domain that is a superset of $A$ , to just $A$ • set-builder notation: $\{x|x<2\}$ , read "the set of x such that x is less than two". Often, a colon ':' is used instead of a vertical bar
• the Sheffer stroke in logic: $a|b$ , read "a nand b"
• subtraction: $f(x)\vert _{b}^{a}$ , read "f(x) from b to a", denoting $f(a)-f(b)$ . Used in the context of a definite integral with variable x.
• A vertical bar can be used to separate variables from fixed parameters in a function, for example $f(x|\mu ,\sigma )$ The double vertical bar, U+2016 DOUBLE VERTICAL LINE, is also employed in mathematics.

• parallelism: $AB\parallel CD$ , read "the line $AB$ is parallel to the line $CD$ "
• Norm: $\|\mathbf {x} \|$ , read "the norm of the vector x". People sometimes use two single bars in analogy to the absolute value, which is a one-dimensional norm.
• Propositional truncation (a type former that 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|:\left\|A\right\|$ (here $|a|$ reads "image of $a:A$ in $\left\|A\right\|$ " and $|a|:\left\|A\right\|$ reads "propositional truncation of $A$ ")

### Physics

The vertical bar is used in bra–ket notation in quantum physics. Examples:

• $|\psi \rangle$ : the quantum physical state $\psi$ • $\langle \psi |$ : the dual state corresponding to the state above
• $\langle \psi |\rho \rangle$ : the inner product of states $\psi$ and $\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

### Computing

#### Pipe

A pipe is an inter-process communication mechanism originating in Unix, which directs the output (standard out and, optionally, standard error) of one process to the input (standard in) to another. In this way, a series of commands can be "piped" together, giving users the ability to quickly perform complex multi-stage processing from the command line or as part of a Unix shell script ("bash file"). In most Unix shells (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 logical 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 (short-circuited) logical or. Since the character was originally not available in all code pages and keyboard layouts, ANSI C can transcribe it in form of the 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 'fu|bar' 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.

<personal-name> ::= <name> | <initial>


#### Concurrency operator

In calculi of communicating processes (like pi-calculus), 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 set-builder 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 Extended-B range: U+01C0 for the single bar and U+01C1 for the double bar.

Some Northwest and Northeast Caucasian languages written in the Cyrillic script have a vertical bar called palochka (Russian: палочка, "little stick"), indicating the preceding consonant is an ejective.

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 period, scratch comma, and caesura mark.

In Sanskrit and other Indian languages, text blocks were once written in stanzas. Two bars || represent the equivalent of a pilcrow.

#### Poetry

A double vertical bar ⟨||⟩ or ⟨‖⟩ is the standard caesura mark in English 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 margin notes 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 U+007C | VERTICAL LINE (124decimal · HTML &#124;).

### Solid vertical bar vs broken bar The code point 124 (7C hexadecimal) is occupied by a broken bar in a dot matrix printer of the late 1980s, which apparently lacks a solid vertical bar. Due to this, broken bar is also used for vertical line approximation. See the full picture (3,000 × 2,500 pixels).

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 U+00A6 ¦ BROKEN BAR (166decimal · HTML &#166; · &brvbar;).

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 broken-bar symbol. Windows keyboard drivers have the vertical bar on ⇧ Shift+\, while the broken bar is on the grave accent () key, and is typed with AltGr+.
• The ANSI QWERTY keyboard has only one key—once labeled with a broken bar but now more commonly a vertical bar, since it always produces a vertical bar character.
• On many German QWERTZ keyboards, 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 ⇧ Shift+alt+L on Mac computers or AltGr+6 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 non-computing 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 ASCII-compatible 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.[citation needed]

### In common character maps

Vertical bar ('|') Broken bar ('¦')
ASCII,
CP437, CP667, CP720, CP737, CP790, CP819, CP852, CP855, CP860, CP861, CP862, CP865, CP866, CP867, CP869, CP872, CP895, CP932, CP991
124 (7Ch) N/A
CP775 124 (7Ch) 167 (A7h)
CP850, CP857, CP858 124 (7Ch) 221 (DDh)
CP863 124 (7Ch) 160 (A0h)
CP864 124 (7Ch) 219 (DBh)
ISO/IEC 8859-1, -7, -8, -9, -13,
CP1250, CP1251, CP1252, CP1253, CP1254, CP1255, CP1256, CP1257, CP1258
124 (7Ch) 166 (A6h)
ISO/IEC 8859-2, -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)
Shift-JIS Men-Ku-Ten 1-01-35
HTML &#124; &brvbar; or &#166;

Additional related Unicode characters:

• Double vertical line ( ‖ ): U+2016 used in pairs to indicate norm
• Fullwidth vertical line (｜): U+FF5C
• Parallel to ( ∥ ): U+2225
• Latin letter dental click (⟨ǀ⟩): U+01C0
• Latin letter lateral click (⟨ǁ⟩): U+01C1
• Symbol 'divides' (⟨∣⟩): U+2223
• Various Box-drawing 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\|c$ ). This has different spacing from \mid and \parallel, which are relational operators: a \mid b \parallel c is set as $a\mid b\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.