strings.1p (6829B)
- '\" et
- .TH STRINGS "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
- .\"
- .SH PROLOG
- This manual page is part of the POSIX Programmer's Manual.
- The Linux implementation of this interface may differ (consult
- the corresponding Linux manual page for details of Linux behavior),
- or the interface may not be implemented on Linux.
- .\"
- .SH NAME
- strings
- \(em find printable strings in files
- .SH SYNOPSIS
- .LP
- .nf
- strings \fB[\fR-a\fB] [\fR-t \fIformat\fB] [\fR-n \fInumber\fB] [\fIfile\fR...\fB]\fR
- .fi
- .SH DESCRIPTION
- The
- .IR strings
- utility shall look for printable strings in regular files and shall
- write those strings to standard output. A printable string is any
- sequence of four (by default) or more printable characters terminated
- by a
- <newline>
- or NUL character. Additional implementation-defined strings may be
- written; see
- .IR localedef .
- .P
- If the first argument is
- .BR '\-' ,
- the results are unspecified.
- .SH OPTIONS
- The
- .IR strings
- utility shall conform to the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 12.2" ", " "Utility Syntax Guidelines",
- except for the unspecified usage of
- .BR '\-' .
- .P
- The following options shall be supported:
- .IP "\fB\-a\fP" 10
- Scan files in their entirety. If
- .BR \-a
- is not specified, it is implementation-defined what portion of each
- file is scanned for strings.
- .IP "\fB\-n\ \fInumber\fR" 10
- Specify the minimum string length, where the
- .IR number
- argument is a positive decimal integer. The default shall be 4.
- .IP "\fB\-t\ \fIformat\fR" 10
- Write each string preceded by its byte offset from the start of the
- file. The format shall be dependent on the single character used as
- the
- .IR format
- option-argument:
- .RS 10
- .IP "\fRd\fR" 6
- The offset shall be written in decimal.
- .IP "\fRo\fR" 6
- The offset shall be written in octal.
- .IP "\fRx\fR" 6
- The offset shall be written in hexadecimal.
- .RE
- .SH OPERANDS
- The following operand shall be supported:
- .IP "\fIfile\fR" 10
- A pathname of a regular file to be used as input. If no
- .IR file
- operand is specified, the
- .IR strings
- utility shall read from the standard input.
- .SH STDIN
- See the INPUT FILES section.
- .SH "INPUT FILES"
- The input files named by the utility arguments or the standard input
- shall be regular files of any format.
- .SH "ENVIRONMENT VARIABLES"
- The following environment variables shall affect the execution of
- .IR strings :
- .IP "\fILANG\fP" 10
- Provide a default value for the internationalization variables that are
- unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 8.2" ", " "Internationalization Variables"
- for the precedence of internationalization variables used to determine
- the values of locale categories.)
- .IP "\fILC_ALL\fP" 10
- If set to a non-empty string value, override the values of all the
- other internationalization variables.
- .IP "\fILC_CTYPE\fP" 10
- Determine the locale for the interpretation of sequences of bytes of
- text data as characters (for example, single-byte as opposed to
- multi-byte characters in arguments and input files) and to identify
- printable strings.
- .IP "\fILC_MESSAGES\fP" 10
- .br
- Determine the locale that should be used to affect the format and
- contents of diagnostic messages written to standard error.
- .IP "\fINLSPATH\fP" 10
- Determine the location of message catalogs for the processing of
- .IR LC_MESSAGES .
- .SH "ASYNCHRONOUS EVENTS"
- Default.
- .SH STDOUT
- Strings found shall be written to the standard output, one per line.
- .P
- When the
- .BR \-t
- option is not specified, the format of the output shall be:
- .sp
- .RS 4
- .nf
- "%s", <\fIstring\fR>
- .fi
- .P
- .RE
- .P
- With the
- .BR "\-t\ o"
- option, the format of the output shall be:
- .sp
- .RS 4
- .nf
- "%o %s", <\fIbyte offset\fR>, <\fIstring\fR>
- .fi
- .P
- .RE
- .P
- With the
- .BR "\-t\ x"
- option, the format of the output shall be:
- .sp
- .RS 4
- .nf
- "%x %s", <\fIbyte offset\fR>, <\fIstring\fR>
- .fi
- .P
- .RE
- .P
- With the
- .BR "\-t\ d"
- option, the format of the output shall be:
- .sp
- .RS 4
- .nf
- "%d %s", <\fIbyte offset\fR>, <\fIstring\fR>
- .fi
- .P
- .RE
- .SH STDERR
- The standard error shall be used only for diagnostic messages.
- .SH "OUTPUT FILES"
- None.
- .SH "EXTENDED DESCRIPTION"
- None.
- .SH "EXIT STATUS"
- The following exit values shall be returned:
- .IP "\00" 6
- Successful completion.
- .IP >0 6
- An error occurred.
- .SH "CONSEQUENCES OF ERRORS"
- Default.
- .LP
- .IR "The following sections are informative."
- .SH "APPLICATION USAGE"
- By default the data area (as opposed to the text, ``bss'', or header
- areas) of a binary executable file is scanned. Implementations
- document which areas are scanned.
- .P
- Some historical implementations do not require NUL or
- <newline>
- terminators for strings to permit those languages that do not use NUL
- as a string terminator to have their strings written.
- .SH EXAMPLES
- None.
- .SH RATIONALE
- Apart from rationalizing the option syntax and slight difficulties with
- object and executable binary files,
- .IR strings
- is specified to match historical practice closely. The
- .BR \-a
- and
- .BR \-n
- options were introduced to replace the non-conforming
- .BR \-
- and
- .BR \- \c
- .IR number
- options. These options are no longer specified by POSIX.1\(hy2008 but
- may be present in some implementations.
- .P
- The
- .BR \-o
- option historically means different things on different
- implementations. Some use it to mean ``\c
- .IR offset
- in decimal'', while others use it as ``\c
- .IR offset
- in octal''. Instead of trying to decide which way would be least
- objectionable, the
- .BR \-t
- option was added. It was originally named
- .BR \-O
- to mean ``offset'', but was changed to
- .BR \-t
- to be consistent with
- .IR od .
- .P
- The ISO\ C standard function
- \fIisprint\fR()
- is restricted to a domain of
- .BR "unsigned char" .
- This volume of POSIX.1\(hy2017 requires implementations to write strings as defined by the
- current locale.
- .SH "FUTURE DIRECTIONS"
- None.
- .SH "SEE ALSO"
- .IR "\fIlocaledef\fR\^",
- .IR "\fInm\fR\^"
- .P
- The Base Definitions volume of POSIX.1\(hy2017,
- .IR "Chapter 8" ", " "Environment Variables",
- .IR "Section 12.2" ", " "Utility Syntax Guidelines"
- .\"
- .SH COPYRIGHT
- Portions of this text are reprinted and reproduced in electronic form
- from IEEE Std 1003.1-2017, Standard for Information Technology
- -- Portable Operating System Interface (POSIX), The Open Group Base
- Specifications Issue 7, 2018 Edition,
- Copyright (C) 2018 by the Institute of
- Electrical and Electronics Engineers, Inc and The Open Group.
- In the event of any discrepancy between this version and the original IEEE and
- The Open Group Standard, the original IEEE and The Open Group Standard
- is the referee document. The original Standard can be obtained online at
- http://www.opengroup.org/unix/online.html .
- .PP
- Any typographical or formatting errors that appear
- in this page are most likely
- to have been introduced during the conversion of the source files to
- man page format. To report such errors, see
- https://www.kernel.org/doc/man-pages/reporting_bugs.html .