min117の日記

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

bash

bash awk テレビ録画した動画ファイルの容量がGB超のものだけを一覧化してサイズ合計を表示する

// 録画した地デジ動画ファイルが溜まっているので、容量の大きい(GB超のもの)を取り出してブルーレイに焼きたい。動画はこんな感じ。 $ ls -shal | grep NHK.*ts.*mp4 サイズ(第1列)がギガバイト(G)のものだけにする。 $ ls -shal | grep NHK.*ts.*mp…

bash trapでctrl+c(シグナル)を捕捉したらコマンドを実行する

シェルプログラミング実用テクニック p379 ハト語に変換する(シグナル処理)を書いて実行してみる。 ・コンソールで「hato」と入力すると「ポ」と返ってくるようにする。 ・ctrl+c(終了シグナル)を補足して、終了できなくする。 ソースはこれ。シグナル(…

MySQL(MariaDB) で 体重記録管理システム

// iPhoneから体重計の画像と体重数値を入力して送信→fedoraのPHPで、MySQLに格納する簡易体重記録システム。 ソース。 こないだまで動いてたのに、突然23行目のエラーに入るようになった。なんでかなと思ったら、15行目(黄色部分)でエラーになっていた。…

RaspberryPi のファームウェアをアップデートする

// RaspberryPIのファームウェアをアップデートする。最新になるといろいろ安定するようなので。今回は RaspberryPi(初代)で試す。別記事では RaspberryPi3で同じ手順をしたが、そちらもうまくいった。 ーーー 手順は以下サイトのとおり。そのまま。 qiita…

bash から python3 で twitter にテキストを投稿する

// python3 を使ってtwitterに投稿する。 注意点 python3 で動く。python2.7だと無理。 ソース 実行 $ python3 プログラム名.py Pythonで「ImportError: No module named requests」がでた時。 – FIZZY ROOM

jq、xmllintを切り捨てて全てシェルのパイプでやる漢(おとこ)の「日の出スクリプト」を試す

// この記事最高。UNIX哲学を体現したような。 qiita.com UNIX哲学って、単なる技術的な教示じゃない気がする。生き方とか片付けとか、仕事のしかたとか立ち居振る舞いに通ずる。 ーーー 記事内にある getsunrise.sh を fedoraで試す。 うーむ。すごい。Rasp…

RaspberryPi 3 で youtube を自動再生する(youtube-dl npm版 + node-omxplayer)

// RaspberryPi 3 でヌルヌルとスムーズな動画再生に欠かせない omxplayer に、node版というものがあるらしい。 pondad.net 適用なWebインターフェースを作れば、iPhoneやアンドロイドから自由に操作できるようにできそうな予感。 ーーー まずは node のイン…

RaspberryPi(初代)のカメラで写した動画を無線で飛ばして、RaspberryPi 3 に繋いだディスプレイで再生する

// このサイトでやってるのと同じこと。ラズパイ複数あるので試したらすぐできた。 qiita.com やること ① RaspberryPi(初代)のカメラで動画をとる → 無線で飛ばす ② RaspberryPi 3 のHDMI に繋いだディスプレイで再生する。 ーーー ① RaspberryPi(初代)…

Amazon Dash Button を改造してrecpt1録画開始ボタンにする(押下 → RaspberryPi3 が受信 → 録画開始POST送信 → 地デジサーバで録画開始)

Amazon Dash Button なるものが出来たらしい。ワンプッシュでWiFiに接続し、好きな商品を注文できるとか。 ワンプッシュでWiFiに接続ってところにたまらなく惹かれる。これぞIoT。 ハックすると、物理ボタンひとつでPOSTを投げられるから、実質何でもできる…

RaspberryPi にマイクを接続 → docomo API を使った音声認識

docomo API を使って RaspberryPi で音声認識してみたい。興味のきっかけはこのあたり。 qiita.com 手順はここのとおりに進める。 qiita.com 使う RaspberryPiはこれ。初代だからスペック低いけど、実験には充分だろう。 ーーー $ lsusb $ cat /proc/asound/…

RaspberryPi で Python 2.7 と 3 の両方を使えるようにする

Python好きだけど、バージョン「2.7」と「3」が混在してて困る。ネットの情報も、2.7のソースと思ってコピペして動かしてみたら実は3のソースだったとか。分かりにくい。 ーーー RaspberryPi(初代)は、標準で 2.7系 が入っている。 3も動くようにしてみる…

RaspberryPi(初代)に Camera を取り付ける

RaspberryPi用のカメラを買ってあったんだけど、付ける機会がなかった。初代が空いたので、取り付けしてみる。 USBのすぐ後ろ(水色パーツの正面)がカメラ取り付け箇所。 ケースを開ける。 カメラを挿し込む。 挿し込みの時は、クリーム色のプラ部分を爪で…

RaspberryPi Zero 1.3 を海外サイト(Pimoroni)からAmazon決済で買う

Rapberry Pi Zero が気になっていたが、国内販売がないので買わないままでいた。最近新版(Ver1.3)が出たらしいので買ってみる。 deviceplus.jp fabcross.jp たった数センチの基盤なのに、スペック的には初代 Pi 1 B+ より上らしい。 www.youtube.com CPUは…

RaspberryPi 3 に libdvdcss2 をインストールする

// libdvdcss2 を RaspberryPi 3 にインストールする必要が出た。このへん参照。 d.hatena.ne.jp 進める。 # sudo -s # wget http://archive.debian-maintainers.org/unofficial/packages/libdvdcss/1.2.10-1_i386/libdvdcss2_1.2.10-1_i386.deb # sudo dpkg…

新Macbook Pro の Touch Bar で Vim を使ってみる(escキーを試す)

// 新Macbook Pro。Touch Bar。 知りたいのはただ一つ。 Touch Bar の escキー で Vim は使えるのか? とにかくその一点。youtubeに溢れる開封動画とか、どうでもいいことしか伝えない。Touch Bar で知りたいのは、「escキーの使い勝手はどうよ?」。とにか…

iMac 5K Retinaの素晴らしさを実感する

iMac 5K を買って2週間。ブログ書くのにプログラミングに…とにかく最高の環境ができた。あまりに素晴らしいので残しておく。 ーーー 画像 ディスプレイがRetinaでしかも5Kなので、大きな画像でもクッキリ。例えば、以下のサイトから落とした高画質サンプル画…

フィボナッチ数列を求めるbashスクリプト

// 前記事の続き。 min117.hatenablog.com フィボナッチ数列(おさらい) www.ted.com 隣り合う数字を足したのが次の数字になる。FizzBuzzもいいけど、なぜか好きこれ。 たぶん、生き方とかダイエットとかに関係する。 ーーー ソース 実行してみる。

fedora20 の Docker に SQL Server のLinux版をインストールする

業務で SQL Server を使う機会に遭遇。今まで Oracle ばっかだったから、ちょうど勉強したいなと思っていたら、いいタイミングで SQL Server のLinux版がリリースされたようだ。 さっそくこんないい記事がUPされていた。 qiita.com これにならって、Docker環…

fedora20 の Docker をアンインストールしてから再インストールする

SQLServerのLinux版が出たらしい。早速 Docker で動かしてみたい。 qiita.com と思ってDockerを起動したら、「Base Device UUID verification failed」とかいう訳のわからないエラーが出てしまった。 ーーー 色々調べたけど、udevのエラーらしい。githubによ…

RaspberryPi3 を h264動画変換サーバにする(再挑戦)

前記事で保留にしてた件。 min117.hatenablog.com うまくいかなくて塩漬けにしてたけど、詳しい人が記事を書いてくれていた。 orumin.blogspot.jp しかし、レベルが高くてよくわからない。「MPEG2-TSには複数の動画ストリームが入っているからうまくいかない…

シェル芸 awkでASCIIアート出力

Twitterかどっかで拾ったこの画像。たぶんシェル芸勉強会か何かの画像だろう。 この人の技術も何か関係してそうだけど。 qiita.com どこで拾ったか忘れた。 ーーー この画像のソースをそのまま書いてみる。 $ vim suddun_death.sh 何が起きるかは分からない…

LinuxのSQL*Plusでbashのhistory機能を使う(カーソル↑↓で履歴を呼び出す)

前記事でLinuxでsqlplusを使えるようにした(Oracle謹製Instant Clientを使用)。 min117.hatenablog.com しかし、ヒストリ機能がない(Instant Clientだから?)。例えば矢印キー(↑や↓)を押しても、過去の履歴を表示できない。これじゃ実用に耐えない。 …

LinuxのSQL*PlusからWindowsのOracleサーバにアクセスする(Linux版 Instant Client を使う)

Windows2003上にOracleサーバ(10.2.0.4.0)がいる。クライアント機(fedora Linux)から、このサーバにsqlplusでアクセスしたい。 ーーー 今までは、VNCでWindowsサーバに入って、そこからsqlplusを起動していた。 これだと、VNCの環境のせいか、キーボード…

bash BUFFALOの無線LANルータをリモートからコマンドで再起動する

BUFFALO製の無線LANルータ WXR-1750DHP 買った。1万円超のグレードだけあって、性能よい。 中継器も付けて快適。 と思ったら、たまに親機(WXR--1750DHP)の通信がフン詰まることがある。再起動すれば直るけど、その都度ルータのある場所に行くのは面倒。 ー…

fedora wiresharkのGUI版をインストールするには yum -y install wireshark-gnome を使う

fedora20 でパケットキャプチャの必要が出た。wiresharkをインストールしたい。とりあえず yum で入れてみる。 $ sudo yum -y install wireshark インストールはすんなり成功したものの、GUIメニューに「wireshark」が無くて困った。起動できない。インスト…

bash bannerコマンドでシェル画面に文字列を出すスクリプト(文字列Xamarinを出力)

// ツイッターで見かけたこの記事。感動した。bashを使って画面に縦文字を書く「banner」コマンドの出力を、横にするワンライナー。 天才は居るもんだ。bash最高。awk最高。速攻で試してみる。 $ banner -w 40 'Use Xamarin' | tr '# ' '+-' | awk '{printf …

bash radiko参加局一覧から、参加局のID(識別子)だけを抜き出す

// 前記事の続き。 RaspberryPi 3 でradiko受信してテレビ画面でラジオを聞く - min117の日記 radikoの参加曲一覧を掲載したサイトが以下にあり。 radikomemo - foltia - Trac Linuxでradikoを再生する時には、ここからradiko.shをダウンロードして、 # sudo…

bash タスクの実行状況確認(ps aux をカスタマイズ/ワンライナーで)

// bashでラジオの録音スクリプトを組んだ。rtmpdumpで録音して、ffmpegでmp3にする。実行状況をモニタリングしたい。使い捨てのワンライナー。 $ for i in `seq 1 10000`; do if "$i" -le 10000 ; then ls; ps aux | egrep 'rtmp | ffmpeg'; echo "$i"; sle…

bash シェルからcurlでPHPを叩く

// fedoraサーバにあるrecHTTP.phpファイルにGETで引数を投げてやると、「録画プロセスrecpt1が起動しているか」を判定して返すようにしてある。 いつもはブラウザから実行してた。 これを、RaspberryPiやMacのシェル(bash)上からコマンド実行できるように…

bash Linuxシェルと同じことをWindowsバッチでやる

// Linuxシェルは毎日の生活になっているので普通に使ってたけど、ここにきて仕事でWindowsバッチを書くことが多くなった。両方で同じことをしたい。 ーーー 今いるフォルダの一覧を取得する(lsと同じ)を、bashとWindowsバッチと両方でやってみる。 ① Linu…

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

// bashいじればいじるほど面白い。GNU sedでは変換後の文字として改行を指定できるらしい。 $ echo 文字をタテにして短冊にするテスト | sed 's/./&\n/g' 任意の一文字(ドット)を、アンド記号( & )がそのまま受けとって、そのあとに改行( \n )を付加…

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

RaspberryPiの/volumes/mp3 にマウントしたフォルダにある大量のmp3から、指定した単語を含むファイルを検索して、テレビで音楽再生する。 ソース $ vim mymp3z.sh コツ 26行目…IFSを空白以外に指定している。これやらないと、ファイル名に空白を含んだmp3が…

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

// コマンドの後ろの数字がマニュアルの章を表すのは知ってるけど…1章と3章のどっちがシェルコマンドで、どっちがライブラリだったか。すぐ忘れる。 scanf(1) 1章記載…シェルコマンドとしてのscanf scanf(3) 3章記載…C言語の関数としてのscanf(プログラムラ…

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

// USP研究所「シェルプログラミング実用テクニック」買った。冒頭の「GancarzのUNIX哲学」にあまりにも感動したので載せておく。 どれ1つとっても、実感をもってウンウンと頷いてしまう。 ほんと良い本を買った。

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

// 今いるフォルダの中に、拡張子がtxtやlogな細かいファイルがたくさんある。その拡張子だけ取り出したい。 ソース こんなフォルダで実行してみる。 $ ./mynkf.sh ポイントは2つ。 19行目 拡張子を取り出すには、bashの「パラメータ展開」を使う。シャープ2…

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

// bashで、フォルダ内にあるファイルやディレクトリの一覧を配列に格納して使う。覚えるのは3つだけ。 ① 空の配列を作成する f_arr=() ② 配列に要素を追加 f_arr+=("$filepath") ③ i番目の配列要素を参照 ${f_arr[i]} 基本だけど色々使えそう。

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

// MacbookAir にはディスプレイの上にカメラが付いている。 bashのコマンドラインから使えるとよいなと思って調べた。imagesnap という良いソフトがあるらしい。 imagesnap ImageSnap: Capture images from iSight and other sources from the command line…

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

// 仮想環境のWindows10にAnniversaryUpdateが降ってこない。仮想環境だから?英語版だから?原因不明。bash使いたいんだが。 と思ってたら、ツイッターで見かけたこの記事。 手動でAnniversaryUpdateを適用できるらしい。 https://support.microsoft.com/ja…

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

// オリンピック男子体操を録画したハイビジョン.tsから、必要な部分だけ切り出したい。tsファイルから切り出すときは、-acodecオプションで音声を変更しないとうまくいかないらしい。 コマンド ffmpeg -ss 00:02:15 -i 20160806_222559.ts -vcodec copy -ac…

RaspberryPi 3 omxplayerの音量UPして動画再生するには --vol +1500 オプションを付ける

// omxplayerで動画再生するスクリプト作ったけど、再生時の音量が低い。音量UPするには --vol +n オプションを付ければいいらしい。 $ vim play_omxplayer_VOLUME-UP.sh $ omxplayer --vol +1500 ファイル名.mp4 --vol +1500 くらいだと、ちょうどテレビの…

bash lastコマンドで得たログイン情報を一意化して並べ替え、いつどこからリモート接続したか一覧化する

// 自前サーバのlastコマンドの結果。 左から3つ目のフィールドが、リモートからのログイン情報。これを、ログイン者ごと、最新のログイン時間と一緒に一覧化する。 擬似コマンド SELECT DISTINCT login_user,login_time FROM last_log ORDER BY login_time;…

bash dockerの日本語の文字化けは export LC_ALL=ja_JP.UTF-8 で解決

// docker にアタッチした状態で nginx の index.html に日本語を書いたら文字化けした。調べて、以下で解決。 ーーー dockerにアタッチた状態で # export LC_ALL=ja_JP.UTF-8 一応、実験した docker のバージョンも載せておく。ホストOSは fedora20、docker…

bash docker の最新版をfedoraにインストールする

fedoraに最新のdockerをインストールしたい。 # yum -y install docker-io だと、バージョン1.5がインストールされてしまう。かなり古いからダメ。 ーーー 最新版のdockerインストールは以下のコマンドでできるらしい。 # curl -sSL https://get.docker.com/…

bash dockerの削除は sudo yum erase docker-io で行う(末尾 に -io が付く)

dockerでエラーが出た。 # docker run --privileged -t -i -d -p 7071:80 -v /mnt:/mnt --name example-nginx-binbash centos:7 /bin/bash Could not reach any registry endpoint でエラー。 ーーー dockerをUpgradeすれば直るらしい。 # sudo yum upgrade …

bash byobuで画面サイズが合わない時は、F9(環境設定)で自動アタッチをオフると解決する

RaspberryPiにsshログインすると、自動的にbyobuにアタッチされる。が、画面サイズがどうもおかしい。前にiPhoneからsshしたときのサイズが残ってしまっている。 どうにも困ってたけど、F9から環境設定を変えたら解消した。 F9から環境設定に入り「Byobu cur…

bash rsync + ssh で、Dropboxにあるフォルダの中身を、別PCのフォルダ内に同期する

// やりたいこと PC1の下のtxtやpdfを、PC2やPC3に同期する(バックアップしたい)。赤文字を、青文字のところに退避したい。 ーーー PC1 Dropbox sh ファイル1.txt ファイル2.pdf PC2 Dropbox2 sh ファイル1.txt ファイル2.pdf ファイル3.xlsx PC3 Dropbox_…

php ブラウザ上でPINGを飛ばしてサーバの生存確認をする

// WakeOnLanで起動させた遠隔地のサーバが正しく起動したかどうかを確認したい。 構成 ①サーバ(192.168.3.11) 普段はスリープ状態。WakeOnLanで起動させる ②RaspberryPi(192.168.3.9) サーバのすぐ隣にある。Webサービス(Apache)あり。PHPあり。 やる…

RaspberryPi 3 に他のラズベリーパイ(初代)のSDカードを認識させてファイルを救出する

// 一番はじめに買ったRaspberryPi(初代)の設定を変えたら、動きがおかしくなってしまった。LANの接続を変えたせいか、sshできない。 これが初代RaspberryPi。LANケーブルは挿さっているが、IPアドレスをDHCP取得できていないのか、できていても何番が振ら…

RaspberryPi 3 自宅と職場それぞれの無線環境に固定IPで自動接続する(複数WiFi対応)

// RaspberryPi(USB無線LAN子機付き)を持ち運んだ先で、自動でWiFiに接続されるようにしたい。 ↓ 青く光るのが無線LAN子機 RaspberryPiの電源さえ入れれば、自宅にいるときは自宅のWiFiに、職場なら職場WiFiに、自動で繋がるようにする。 ーーー 仮に 自宅…

RaspberryPi 3 omxplayerのテレビ出力音量はキーボード(+/−)でコントロールできる

// RaspberryPi 3 でmp3を再生しっぱなしにして、テレビでラジオや音楽を流している。音量調整はテレビのリモコンでやってたけど、omxplayer からもコントロールできるらしい。 わかった部分でまとめ。 ーーー キーボード ー(マイナス) 音量を下げる +(…