10-shell printf Command

Source: Internet
Author: User
Tags echo command

In the previous section we learned about the Shell's echo command, which we'll learn from the Shell's other output command printf.
The printf command mimics the printf () program in the C library.
printf is defined by the POSIX standard, so scripting with printf is better than using echo portability.
printf uses reference text or space-delimited parameters, which can be used outside of the format string in printf, as well as the width of the string, left and right alignment, and so on. Default printf does not automatically add line breaks like echo, we can add \ n manually.
The syntax of the printf command:
printf format-string [arguments ...]
Parameter description:
Format-string: Controlling strings for formatting
Arguments: is a list of parameters.
Examples are as follows:
$ echo "Hello, Shell"
Hello, Shell
$ printf "Hello, shell\n"
Hello, Shell
$
Next, I'll use a script to demonstrate the power of printf:
   #!/bin/bash
   # Author: Rookie Tutorial
# url:www.runoob.com
 
printf "%-10s%-8s%-4s\n" name sex weight kg
printf "%-10s%-8s%-4.2f\n" Guo Jingnan 66.1234
printf "%-10s%-8s%-4.2f\n" Yang over male 48.6543
printf "%-10s%-8s%-4.2f\n" Guoff female 47.9876
Execute the script with the output as follows:
Name Sex weight kg
Guo Jingnan 66.12
Yang over male 48.65
Guoff female 47.99
%s%c%d%f are format alternates
%-10s refers to a width of 10 characters (-for left alignment, not to right-aligned), any character will be displayed in 10 character justifies characters, if not enough is automatically filled with spaces, more than will also show the content.
%-4.2F refers to the format of decimals, where. 2 refers to 2 decimal places reserved.
More examples:
   #!/bin/bash
   # Author: Rookie Tutorial
# url:www.runoob.com

   # format-string is double quotes
printf "%d%s\n" 1 "ABC"

   # Single quotes are the same as double quotes
printf '%d%s\n ' 1 "ABC"

   # No quotation marks can also be output
printf%s abcdef

   # The format specifies only one parameter, but the extra parameter is still output in that format, format-string is reused
printf%s ABC def

printf "%s\n" ABC def

printf "%s%s%s\n" a b c D e F g h i J

   # If there is no arguments, then%s is replaced with NULL,%d replaces with 0
printf "%s and%d \ n"
Execute the script with the output as follows:
1 ABC
1 ABC
Abcdefabcdefabc
Def
A b C
D E F
G h I
J
and 0

escape sequences for printf
\a warning character, usually the bel character of ASCII
\b Back
\c suppresses (does not display) the newline character at any end of the output (only valid in the parameter string under the%B format designator control), and any characters left in the argument, any subsequent arguments, and any characters left in the format string are ignored
\f Page Change (formfeed)
\ nthe line break
\ r Enter (carriage return)
\ t Horizontal tab
\v Vertical Tab
\ a literal backslash character
The \DDD represents a 1 to 3-digit octal value character. Valid only in format strings
\0DDD represents 1 to 3-bit octal value characters
Example
$ printf "A string, no processing:<%s>\n" "A\NB"
A string, no processing:<a\nb>

$ printf "A string, no processing:<%b>\n" "A\NB"
A string, no processing:<a
B>

$ printf "runoob.com \a"
Runoob.com $#不换行



10-shell printf Command

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.