Jump to content

Vertical bar: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
→‎Regular expression: make it look like a command
→‎Regular expression: clarification
Line 24: Line 24:


=== Regular expression ===
=== Regular expression ===
In [[regular expression]]s, the pipe indicates '''alternation'''. E.g., <tt>[[grep]] -E 'foo|bar'</tt> matches lines containing 'foo' or 'bar'.
In [[regular expression]]s, the pipe indicates '''alternation'''. E.g., the UNIX command <tt>[[grep]] -E 'foo|bar'</tt> matches lines containing 'foo' or 'bar'.


=== Disjunction ===
=== Disjunction ===

Revision as of 23:32, 23 August 2006

Vertical bar, vertical line or pipe ("|") is the name of the ASCII character at position 124 (decimal). Broken bar ("¦") is a separate character that appeared (along with vertical bar) first in the EBCDIC family of character sets, and was copied from there into ISO 8859-1 and Unicode. The PC keyboard used in the United Kingdom features separate keys for "vertical bar" and "broken bar", however most UK keyboard drivers today map both keys onto the ASCII character "vertical bar", as "broken bar" has hardly any practical application. Keyboards in other countries do not make this distinction, and there, the "vertical bar" character is sometimes depicted as a broken bar, to distinguish it from the I (uppercase i) character.

Etymology

The name pipe for the character "|" was a natural consequence of its usage in Unix shells, where it is used to notate the usage of the unix pipeline construct.

Usage:

Mathematics

The vertical bar is used as a mathematical symbol in

  • absolute value: , read "the absolute value of x".
  • norms: , read "the norm of x sub one, x sub two"; though Unicode also provides a special double vertical line symbol U+2016: ‖x
  • set definition: , read "the set of x such that x is less than two". Often sets are written with a colon ':' rather than a vertical bar.
  • conditional probability: , read "the probability of X given Y".
  • divisibility: , read "a divides b".
  • the Sheffer stroke.

Backus-Naur form

In Backus-Naur form the 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>

Unix

A pipe is an inter-process communication mechanism originating in Unix which allows the output of one process to be used as input to another. In most Unix shells (command interpreters), this is represented by the vertical bar character. This feature is found in most versions of DOS (and hence Windows) as well.

Regular expression

In regular expressions, the pipe indicates alternation. E.g., the UNIX command grep -E 'foo|bar' matches lines containing 'foo' or 'bar'.

Disjunction

In many programming languages, it is used to designate the logic operation or, either bitwise or or logical or.

Specifically, in C and other languages following C syntax, such as Perl and Java, (a | b) denotes bitwise or; while double vertical bar (a || b) denotes (short-circuited) logical or.

Concatenation

In PL/I and SQL, the operator "||" denotes string concatenation.

Delimiter

Although not as common as commas or tabs, the vertical bar/pipe symbol can be used as delimiter in a flat file. An example of a pipe-delimited standard data format is LEDES 1998B.

Khoisan orthography

In the Khoisan languages, the pipe is used to write the dental click.

MediaWiki

The pipe character is used to separate parameters in MediaWiki templates; it is also used when a categorized article must be alphabetically sorted in a different place than its title, and to make links.