文字列操作
    Top > Linux > sh
    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位まで表示
    References
    文字列Aに文字列Bが含まれるか - わからん + http://d.hatena.ne.jp/kitokitoki/20101009/p5 【bash】 echoとprintfの違い - どちらかというとごはん派 + https://blog.goo.ne.jp/01_mai/e/fd8968994cd997594c368001fcf103e4 シェルスクリプトで特定文字が何回現れるかカウントする - eTuts+ Server Tutorial + http://server.etutsplus.com/shell-script-substr-count/ Grepの「-o」オプションを活用し最後に一致した要素だけ出力する - Bye Bye Moore + http://shuzo-kino.hateblo.jp/entry/2015/04/13/222924 cutとrevの組み合わせで最後の要素だけ引っ張り出す - Bye Bye Moore + http://shuzo-kino.hateblo.jp/entry/2015/04/12/153737