min117の日記

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

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

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

 

MacBookAir 内蔵カメラでコマンドから音無し自撮りする(imagesnap)

 

MacbookAir にはディスプレイの上にカメラが付いている。

f:id:min117:20160811153603j:plain

bashコマンドラインから使えるとよいなと思って調べた。imagesnap という良いソフトがあるらしい。

imagesnap

ImageSnap: Capture images from iSight and other sources from the command line

GitHub - rharder/imagesnap: Capture Images from the Command Line

f:id:min117:20160811153924p:plain

f:id:min117:20160811153940p:plain

ファイルを落としてきて実行するだけ。/usr/local/bin にも置いておくか。

f:id:min117:20160811154208p:plain

使えるカメラデバイスは -l オプションで確認できるらしい。

$ ./imagesnap -l

f:id:min117:20160811154323p:plain

./imagesnap をただ実行すれば内蔵カメラで写真が撮れる。音は鳴らない。ファイル名は自動でsnapshot.jpg となり、imagesnapと同じフォルダに落ちる。

$ ./imagesnap

f:id:min117:20160811154558p:plain

画質は荒めだけど充分。

f:id:min117:20160811154735p:plain

-v オプションをつけると、詳細モード(verbose)が表示される。

$ ./imagesnap -v

f:id:min117:20160811154905p:plain

逆に、全く詳細を表示させない(quietモード)で撮影するには -q オプションをつけるらしい。スクリプト化してバッチ実行するときに良さそう。

$ ./imagesnap -q

f:id:min117:20160811155137p:plain

-t 1.00 と付ければ、1秒毎に写真を撮ってくれる。

$ ./imagesnap -q -t 1.00

f:id:min117:20160811155733p:plain

 

 

Windows10 AnniversaryUpdateをMicrosoftのサイトから手動で適用する

 

仮想環境のWindows10にAnniversaryUpdateが降ってこない。仮想環境だから?英語版だから?原因不明。bash使いたいんだが。

f:id:min117:20160807084300p:plain

と思ってたら、ツイッターで見かけたこの記事。

f:id:min117:20160807084714p:plain

手動でAnniversaryUpdateを適用できるらしい。

https://support.microsoft.com/ja-jp/help/12387/windows-10-update-history?ocid=update_setting_client

f:id:min117:20160807084819p:plain

さっそく適用する。

ーーー

リンクからプログラムをダウンロードして、管理者で実行。

f:id:min117:20160807084751p:plain

このPCに変更加えていい?よいよい。

f:id:min117:20160807084917p:plain

Update Now!

f:id:min117:20160807084952p:plain

待ち遠しい。

f:id:min117:20160807085004p:plain

エラー…

Contact your system administrator to upgrade Windows Server or Enterprise editions.

f:id:min117:20160807085035p:plain

いや、システム管理者は自分だし。残念。

 

fedora ffmpegでハイビジョン映像tsから必要な部分だけ切り出す(トリミング)

ハピタスのポイントをビットコインに変えて円安に備える

 

1,000万円を超えたbitcoinを少しだけどもらえるURL

https://bitflyer.com/invitation?id=l50e5ljw&lang=ja-JP

ハピタスからポイントもらえるURL

その買うを、もっとハッピーに。|ハピタス

 

f:id:min117:20160807082613p:plain

オリンピック男子体操を録画したハイビジョン.tsから、必要な部分だけ切り出したい。tsファイルから切り出すときは、-acodecオプションで音声を変更しないとうまくいかないらしい。

コマンド

 ffmpeg -ss 00:02:15 -i 20160806_222559.ts -vcodec copy -acodec libmp3lame -strict unofficial -t 600 20160806_222559_trim.ts

意味

-ss 00:02:15

 開始から2分15秒のところから切り出す(スタート位置の指定)

-i 20160806_222559.ts

 ソースファイル名

-vcodec copy

 ビデオのコーデック指定。元ファイルと変えないからcopyとする。

-acodec libmp3lame -strict unofficial

 音声もcopyでいいんだけど、こうしないとなぜか変換に失敗する。

-t 600

 開始から600秒(=10分間)を切り出す。

20160806_222559_trim.ts

 切り出したあとのファイル名。

 

 

 

数分程度で切り出し成功。男子体操。それにしてもすげえ筋肉だな。

f:id:min117:20160807082641p:plain

f:id:min117:20160807082710p:plain

f:id:min117:20160807082723p:plain

f:id:min117:20160807082740p:plain

f:id:min117:20160807082758p:plain

f:id:min117:20160807082821p:plain