October 2026
pickout - Extract a table from lines containing named values.
pickout [OPTIONS] field1 [field2 ...] < data-file
Read standard input and write a tab-separated table to standard
output. Supply one or more field names as positional arguments; output
columns follow their argument order. The first output line contains
these names unless --no-header is
given.
A matching input line must contain every requested field in the form
field = value, with exactly the shown spaces around
=. Lines missing any requested field are skipped. Matching
is case-sensitive and uses the first occurrence of each
field = substring; it does not require the field name to
start at a word boundary.
Normally a value ends at the next space outside parentheses. Double-quoted values may contain spaces and retain their surrounding quotes. Escaped quotes are not supported. The last requested field can instead extend to the end of its line or across multiple lines using the options below. Here, "last" means last on the command line, not last in the input line.
--help--no-header--large--multi-line if both are supplied.
--multi-lineExtract two columns, in the requested order:
printf 'iteration = 1 score = -12\niteration = 2 score = -10\n' | pickout score iterationThe output is tab-separated:
score iteration
-12 1
-10 2
Extract the remainder of a line after pi = without a
header:
pickout --no-header --large pi < run.logBAli-Phy online help: http://www.bali-phy.org/docs.php.
Please send bug reports to bali-phy-users@googlegroups.com.