[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
このセクションは,テキスト文字列を画面に表示するコマンドを説明します.
15.1 echo : テキストの行を表示 | Print a line of text. | |
15.2 printf : データの書式化と出力 | Format and print data. | |
15.3 yes : 中断するまで文字列を出力 | Print a string until interrupted. |
echo
: テキストの行を表示
echo
は,与えられたそれぞれのstringを,それぞれの間にス
ペースを用い,最後のものの後に改行を用いて,標準出力に書き出します.概
要です.
echo [option]... [string]... |
プログラムは以下のオプションも受け入れます.2. 共通のオプションも参照 してください.
printf
: データの書式化と出力
printf
はテキストの書式化された表示を行います.概要です.
printf format [argument]... |
printf
は,C printf
関数と同じ方法で,`%'指示語と
`\'エスケープを解釈しながらformat文字列を表示します.与えら
れたargumentのすべてを変換する必要があるので,format引数は
再利用されます.
printf
は追加の指示語`%b'があり,それは,format文
字列と同じ方法で`\'エスケープを解釈しながら,その引数文字列を表示
します.
printf
は,表示文字を指定するとき,format内の
`\0ooo'を(oooが0から三桁の八進の場合)八進数として,そして,
表示文字を指定するとき,`\xhhh'を(hhhが0から三桁の16進の場
合)16進数として解釈します.
printf
は,ISO C 99で導入された二文字の構文を解釈し
ます.四桁の16進数hhhhで指定される16ビットのUnicode文字に対する
`\u',そして,四桁の16進数hhhhhhhhで指定される32ビットの
Unicode文字に対する`\U'です.現在のロケールのLC_CTYPEの部分に依存
してprintf
はUnicode文字を出力し,すなわち,環境変数
LC_ALL
,LC_CTYPE
,LANG
の値には依存しません.
`\u'と`\U'の処理では,iconv
の機能が完全になっている必
要があります.glibc 2.2(またはそれより新しいもの)を用いたシステムや,
このパッケージに優先するlibiconv
がインストールされているときは
動作します.それ以外で`\u'と`\U'を使用すると,エラーメッセー
ジが表示されます.
追加のエスケープ`\c'は,printf
にそれ以上の出力を生成さ
せません.
オプションは,単独の`--help'や`--version'だけです. See section 2. 共通のオプション.
Unicode文字の構文は,ロケールに依存している文字列を書くとき役に立ちま す.例えば,Euro通貨の記号を含む文字列です.
$ /usr/local/bin/printf '\u20AC 14.95' |
これで,Euroの記号をサポートしているすべてのロケールで(ISO-8859-15, UTF-8,他)正しく出力されます.同様に中国文字を利用します.
$ /usr/local/bin/printf '\u4e2d\u6587' |
これで,すべての中国のロケール(GB2312,BIG5,UTF-8,等)で正しく出力さ れます.
これらの例は,GNU bash
の組み込み関数printf
と区別する
ため,printf
のフルパス名が与えられていることに注意して下さい.
より長い文字列では,それぞれの文字一つ一つの16進数のコード値を探す必要 がありません.`\u'エスケープシーケンスが混ざっている ASCII文字は,JAVAのソースファイルのエンコードとして知られて います.このエンコードされた文字列を変換するために,GNU recode 3.5c(ま たはより新しいもの)を使用することが可能です.テキストの一部を,ロケー ルに依存しない方法でこのテキストを出力するシェルスクリプトに変換する方 法は以下のようになります.
$ LC_CTYPE=zh_CN.big5 /usr/local/bin/printf \ '\u4e2d\u6587\n' > sample.txt $ recode BIG5..JAVA < sample.txt \ | sed -e "s|^|/usr/local/bin/printf '|" -e "s|$|\\\\n'|" \ > sample.sh |
yes
: 中断するまで文字列を出力
yes
は,スペースで分離され改行後置されたコマンドライン引数を,
キルされるまで永遠に出力します.引数が与えられない場合は,改行後置され
た`y'を,キルされるまで永遠に出力します.
オプションは,単独の`--help'や`--version'だけです. See section 2. 共通のオプション.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |