その他
リテラル
シェルでは文字列などのリテラルは'.....'または"....."という形式をとる。
ただし,"....."の形式だと'$','`','\'は特別な意味を持ち,下記のように動作する。実行例はこちら。
$
|
シェル起動時のパラメータやシェル変数と置き換わる。
なお,'$*'と'$@'はシェルパラメータ展開が行われ,パラメータとして与えられた文字列に置き換わる。
|
`
|
`.....`の部分がコマンドとして実行され,その結果と置き換わる |
\
|
エスケープ文字として扱われる。つまり,'\'の後に特別な機能を持った文字('$','`',)が続いたとき,その1文字を取り除く。'\'の後に普通の文字が続く場合は'\'という文字となり,エスケープ文字としては扱わない。 |
展開と置換
シェルには起動時のパラメータを参照したり,変数の値を参照するために,いろいろな置換えの機能がある。
詳細はこちらを参照。
正規表現
文字列のパターンを検索するときに使う。
詳細はこちらを参照。
実行例
[toshim@gw2000 ~/trybash]$cat | grep -En '.*'
abcdef
1:abcdef ← マッチするとgrepが行を表示するので,先頭に行番号が表示される。
asd
2:asd
[toshim@gw2000 ~/trybash]$cat | grep -En '[0-9]'
abc
adefg
1
3:1
asd3dffd
4:asd3dffd
[toshim@gw2000 ~/trybash]$cat | grep -En '[0-9][0-9][0-9]'
a1a1
a12dfd34
asd356gh
3:asd356gh
[toshim@gw2000 ~/trybash]$cat | grep -En '[0-9]+'
abc
abd34
2:abd34
abcd2345466
3:abcd2345466
[toshim@gw2000 ~/trybash]$cat | grep -En '[a-z][A-Z]'
aaa
aD
6:aD
ERER
fgfgfTYUJ
9:fgfgfTYUJ
|
|