Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック第二章練習問題その2

練習2.1.c 文字列の連結と置換

${変数名:開始文字位置(0始まり):長さ}で部分文字列の取り出しができる。また、${変数名/置換対象文字列/置換後の文字列}で文字列を置換できる。ほかにもいろいろあったが使い道がよくわからないので触れないでおく。

man bash を読んでいて気が付いたが、grep で抜き出して読むと一部が表示されないことがよくある。man bash で直接読むと全部表示される。エラーメッセージでググったがいまいち何がどうなっているのかわからない。man bash | grep -C 6 '何か正規表現' なんてコマンドを実行すると troff: <standard input>:826: warning [p 9, 1.2i]: cannot adjust line という感じのメッセージがよく出てくる。

 

練習2.1.d 変数を使った計算

ビットシフトだけメモしておく。bash では b<<a で b を a だけ左に桁をずらすという意味になるらしい。この問題では b=2, a=6 なので2を左に6桁(2進数で)ずらすということになる。