cat, head, tail -ファイル内容の表示と読み飛ばし
ループを用いた文字列の操作
ファイル内の各文字列を操作する場合は次のようにする.
でも後者の方法はhtmlファイルをいじろうとしたとき,行が単語ごとに分割されて上手くいかなかった記憶がある.
文字列の分割
cutを使う.
-d: 分割点となる文字を指定する.
-f: 分割した要素の何番目かを指定する.
-c: 文字列の何文字目から何文字目までを抜き出すか指定する.
(例)
次のようなテキストファイルがあるとする.
hoge,hogehoge
fuga,fugafuga
これに対して以下を実行する.
文字列内の文字列検索
echoとgrepでいける.
文字列内の文字列検索:個数を調べる
awkと
indexで対象文字列をひとつめの検索文字列以降の文字列に更新する.
これを繰り返せばカウントできるが,特殊文字を変数として与えると上手くいかなかった.
次の方が圧倒的にシンプルで,特殊文字にもちゃんと対応している.
ソースはこちら:
+
シェルスクリプトで特定文字が何>回現れるかカウントする - eTuts+ Server Tutorial
ある文字(列)で文字列を分割し、最後の要素を取り出す
grepで
なぜこうなるのかはこちらを参照.
+
Grepの「-o」オプションを活用し>最後に一致した要素だけ出力する - Bye Bye Moore
あるいは文字列を反転してひとつ目の要素を取り出し,再度反転するという方法もある.
書式の指定
printfを使う.
もちろんprintfで出力される文字列を`などで変数に格納することもできる.
とりあえずよく使うものをその都度書いていこうと思う.
%s : 文字列(うろ覚え)
%d : 整数
%*d : *桁 右詰め
%-*d: *桁 左詰め
%0*d: *桁 ゼロパディング
%A.Bf: 全体でA桁(小数点含む), 小数点第B位まで表示