min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

bash sedを使って文字をタテにして短冊にする

 

bashいじればいじるほど面白い。GNU sedでは変換後の文字として改行を指定できるらしい。

$ echo 文字をタテにして短冊にするテスト | sed 's/./&\n/g'

任意の一文字(ドット)を、アンド記号( )がそのまま受けとって、そのあとに改行( \n )を付加している。

f:id:min117:20160831214151p:plain

パイプで流れてくる文字1つ1つの後ろに改行が付き、結果、タテの短冊になる。

bash テレビを音楽プレイヤーにする

RaspberryPiの/volumes/mp3 にマウントしたフォルダにある大量のmp3から、指定した単語を含むファイルを検索して、テレビで音楽再生する。

ソース

$ vim mymp3z.sh

f:id:min117:20160827235735p:plain

コツ

 26行目…IFSを空白以外に指定している。これやらないと、ファイル名に空白を含んだmp3がうまく再生できない。

 27行目…find コマンドは -or オプションで複数の条件検索が可能

ーーー

実行してみる。

$ ./mymp3z.sh

f:id:min117:20160828000026p:plain

 

bash manコマンドを引数manで実行する

 

コマンドの後ろの数字がマニュアルの章を表すのは知ってるけど…1章と3章のどっちがシェルコマンドで、どっちがライブラリだったか。すぐ忘れる。

 scanf(1) 1章記載…シェルコマンドとしてのscanf

 scanf(3) 3章記載…C言語の関数としてのscanf(プログラムライブラリーに含まれる関数)

ーーー

manコマンドでmanを見れば分かるらしい。初めて知った。

$ man man

f:id:min117:20160827211542p:plain

こりゃ便利。

f:id:min117:20160827211547p:plain

man が英語のときは、インストールで日本語にできるみたい。

$ sudo apt-get -y install manpages-ja

bash USP研究所「シェルプログラミング実用テクニック」より GancarzのUNIX哲学

 

USP研究所「シェルプログラミング実用テクニック」買った。冒頭の「GancarzのUNIX哲学」にあまりにも感動したので載せておく。

f:id:min117:20160827200518p:plain

どれ1つとっても、実感をもってウンウンと頷いてしまう。

ほんと良い本を買った。

 

 

bash 今いるフォルダ内にあるファイルの拡張子を取得する(if文の中でorを使う)

 

今いるフォルダの中に、拡張子がtxtやlogな細かいファイルがたくさんある。その拡張子だけ取り出したい。

ソース

f:id:min117:20160827063124p:plain

こんなフォルダで実行してみる。

f:id:min117:20160827063701p:plain

$ ./mynkf.sh

f:id:min117:20160827063741p:plain

ポイントは2つ。

19行目

 拡張子を取り出すには、bashの「パラメータ展開」を使う。シャープ2つにするのがコツ。

22行目

 if文のカッコを二重にする。[ ではなくて[[  にする。そうすると、if文の中で or条件を使うときに || を使えるようになるから。詳細は以下参照。

qiita.com

 

格安SIM iPhone5c ソフトバンク版で BIC SIM を使う(R-SIM 10+)

 

秋葉原でiPhone5c(ソフトバンク版)を9,000円で入手した。ドコモ回線IIJBIC SIM)の格安SIMを持っているので、ゲタ(R-SIM 10+)を履かせてiPhoneに挿して使えるようにする。

ゲタ(R-SIM 10+)は偽物がたくさん出回っているらしい。Amazonは特に危なそう。成功報告が多い楽天市場で買った。

item.rakuten.co.jp

注文してから4日程で到着。お盆期間だし時間かかったのかも。

f:id:min117:20160812142242j:plain f:id:min117:20160812142515j:plain

iPhone5c はこれ。ソフトバンク版。SIMなしなのでWiFi運用していた。

f:id:min117:20160812142644j:plain

流れは以下。

① iPhone5cでの事前作業(4Gをオフ、FaceTimeをオフ、iMessageをオフ)

② 事前にAPNの構成プロファイルをインストールする

③ 格安SIMをゲタ(R-SIM 10+)にセットしてiPhoneに装着する。

ーーー

以下、順に進めていく。

① iPhone5cでの事前作業(4Gをオフ、FaceTimeをオフ、iMessageをオフ)

f:id:min117:20160812143321p:plain f:id:min117:20160812143201p:plain f:id:min117:20160812143245p:plain

② 事前にAPNの構成プロファイルをインストールする

以下のリンクを iPhoneSafariから開く。PCからじゃ無理。

apnshop.blog.jp

f:id:min117:20160812143553p:plainf:id:min117:20160812143610p:plain f:id:min117:20160812143632p:plain

f:id:min117:20160812143659p:plain f:id:min117:20160812143737p:plain f:id:min117:20160812143830p:plain

③ 格安SIMをゲタ(R-SIM 10+)にセットしてiPhoneに装着する

このサイトの案内どおりにやっていく。

apnshop.blog.jp

秋葉原で買ったときに刺さっていたSIM(ソフトバンクSIM)を抜く。

f:id:min117:20160812144125j:plain

一番右のiPhoneのSIM金具に、金色のゲタ(R-SIM 10+)金属をセットする。

一番左のdocomoのSIMは、今回使う格安SIM.

真ん中のSoftbankのSIMは、購入時に抜き取ったやつ。もう使わない。

f:id:min117:20160812144046j:plain

f:id:min117:20160812144504j:plain

ゲタ金属を金具に載せて…

f:id:min117:20160812144522j:plain

その上に格安SIMを置く。

f:id:min117:20160812144610j:plain

電源を入れたiPhone5cに差し込む。

f:id:min117:20160812144636j:plain

挿し込むときを裏からみた図。

f:id:min117:20160812144912p:plain

あとの選択は以下サイトのとおり。

R-SIM 10+ SIMロック解除 アダプタ設定方法 : APNショップ

ーーー

開通。docomo 3G回線を掴んだ。かなり快適。

f:id:min117:20160812145215p:plain

 

 

bash 今いるフォルダ内にあるファイル一覧、フォルダ一覧を配列に格納する

 

bashで、フォルダ内にあるファイルやディレクトリの一覧を配列に格納して使う。覚えるのは3つだけ。

① 空の配列を作成する

 f_arr=()

② 配列に要素を追加

 f_arr+=("$filepath")

③ i番目の配列要素を参照

 ${f_arr[i]}

f:id:min117:20160811163202p:plain

f:id:min117:20160811163238p:plain

基本だけど色々使えそう。