min117の日記

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

シェル芸

大量のmp3ファイルに一括でアルバムアートを登録する(eyeD3)

iTunesでなくて、CDで買った曲をiPhoneの「ミュージック」アプリに入れて聴く。アルバムアートをつけるのが面倒(けど実は楽しい)と思っていたら、一括でアルバムアートを登録できるeyeD3なるコマンドがあった。 Macのbashで動くのが最高に良い。動きはこう…

bash 複数のソースファイルに日付をつけて一括バックアップ(拡張子は変えない)

pythonやらphpやらで色々書いたソースを一括でDropboxにバックアップしたい。 ファイル名に今日の日付をつけて拡張子は変えずにバックアップする。 こんな感じ。 ファイル名から、本体部分(body)と拡張子部分(ext)を取り出すところに工夫がいる。 できた…

国別プロキシリストを画像に落とす

国別プロキシリストなるサイトを見つけた。 各国のproxyが載っているようだ。 proxyのリンクに入ると各国にある串の一覧が見られる。 どうも怪しい広告が入っているが情報としては悪くない。こういうときは必ずシークレットモードでアクセスする。 うむ。 国…

macOS Mojave treeコマンドの文字化けは -N オプションで解決

macのtreeコマンドで日本語が文字化けしてしまう。 $ tree これでは何のファイルか分からない。リダイレクトでテキストに落とすこともできない。 こういうときは -Nオプションを付けるといいみたい。 $ tree -N 素晴らしい。 qno.oops.jp //

bash for文で変数に代入した値をゼロ埋め(ゼロパディング)する

素晴らしい記事発見。 genzouw.com 例えばfor文ではseq -w を使えばゼロ埋めした連続文字列を作れることは知っていた。 $ for i in `seq -w 1 10`; do echo "$i"; done しかしこれ(seqを使う方法)だと、for文に食わせる文字列が連続していない場合はゼロ埋…

Linux ジョークコマンド sl を動かす

前回記事でジョークコマンドに目覚めた。 min117.hatenablog.com 今回は sl コマンドの動きをみる。インストール自体は以前してある。 min117.hatenablog.com 動くとこうなる。 // おそらくだけど、リストコマンド ls を sl に打ち間違えたエンジニアが「じ…

RaspberryPi3 コマンドcmatrixをインストール → マトリックスの「あの画面」をコンソールに流す

面白い記事を発見。この人の記事ホントためになる。おそらくだけど有名な技術者だと思う。 orebibou.com 映画「マトリックス」のあの画面が再現できるコマンドがあるようだ。 www.youtube.com cmatrix というコマンドらしい(Character Matrix の略だろうか…

Outlookのデータ(.pstファイル)をテキストに変換する(readpstコマンド利用)

6年前の古いOutlookのデータ(.pst)が出てきた。 6年前、自分はどんなメールをしていたんだろう…と。 開いて中を見たいけどWindowsで開くと 現在のOutlookにインポートされちゃって、今リアルに使っているメールと混じってしまう心配がある。 なのでLinuxで…

bash 仮想通貨マイニングウイルスに現実に仕込まれたソースからシェルのノウハウを学ぶ

1月に入って、ランサムウェア「GandCrab」が添付されたメールが大量に出回っているらしい。 japan.zdnet.com 復元ツールは出ているみたいだけど japan.zdnet.com ランサムウェアは影響が大きいので感染はゴメンこうむりたい。 なんて情報をあさっていたら、…

bash byobuで開いた複数セッションの履歴を全て.bash_historyに保存し共有する

byobuで複数のセッションを切り替えて使っているときにセッション間の履歴を共有できないのに困っていた。 例えば セッション0 の履歴がこれで セッション1 の履歴がこれ。 Ctrl + p して入力履歴を呼び出すときにセッションごとに履歴が異なるのが困る。全…

Windows コマンドプロンプトからディスクの容量を確認する(cmdでdf)

Windowsでディスクの容量を確認する作業が地味に面倒くさい。画面の左から「コンピュータ」を選ぶ作業が面倒。 「選べばいいだけじゃん」と思うかもしれないが、1日に何度も繰り返すこの選ぶ作業をいかに減らせるかで作業効率が全然違ってくる。コマンド一発…

情報処理安全確保支援士(SC)平成30年度 秋期 午前Ⅱ 解答速報(2018年10月21日実施)

本日 2018年10月21日。受けてきた。 自分なりの解答速報。 ※ 午前Ⅰ は免除なので受けてない。 ※ 午前Ⅱ の解答速報。 <平成30年度 秋期 午前Ⅱ 解答速報> △が付いていないものはまず間違いなく正解(過去問にある or 調べた)。 △が付いているものは自信なし…

bash の行数カウント wc -l と同じことをWindowsのコマンドプロンプトでやるには → find /c /v "" とする

Linuxで行数をカウントするのはカンタン。例えば、拡張子sh(シェルスクリプト)がこれだけあったとする。 $ ls | grep sh その行数を数えるには wcコマンドにパイプすればいい。オプションは -l(たぶん line の頭文字)。 $ ls | grep sh | wc -l // これ…

bash echo-sdコマンドで >突然の死< ジェネレーター を試す

ツイッターでよく見かける「囲み文字」を作るコマンドがあるらしい。 // >突然の死<ジェネレーター - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 暇なのか天才なのかよく分からないけど、すごいものを作るもんだ。 さっそくインス…

RaspberryPi3 neofetch コマンドでOSロゴとシステム情報を表示する

neofetch という面白いコマンドを知った。RaspberryPi3 で実行するとこうなる。 $ neofetch OSのロゴとシステム情報を表示するようだ。Debian や Ubuntuもある。 orebibou.com // RaspberryPi のインストール方法は他とは異なる。このサイトの「All other ve…

RaspberryPi3 テレビリモコンから omxplayer を操作する(mkfifo /tmp/cmd → omxp-with-cec.sh)

以前の記事で、omxplayer の操作(一時停止、再生)をbashコマンドからできることが分かった。FIFO経由でコマンドを流し込んでやれば動く。 min117.hatenablog.com さらに前回記事では、RaspberryPi3を(HDMIで)繋いだテレビのリモコンで押したキー信号(上…

RaspberryPi3 「テレビリモコンで押したキー信号」を捕捉する cec-client | grep --line-buffered -Po '(?<=key pressed: )\w+(?= \(\d, \d\)$)'

以前の記事で、cec-clientなるプログラムを使えばRaspberryPiからテレビを操作できることが分かった。 min117.hatenablog.com 今回も cec-client を使うが、やりたいのは(電源オンオフより)もっと複雑。 リモコンで押されたキーを捕捉したい。つまりこうな…

bash grepの前にバックスラッシュをつけて「\grep」と書く意味は?

例えば INSTALLED=$(dpkg -l \grep $1) のようにして変数INSTALLEDを設定する場合なぜgrepの前にバックスラッシュがあるのか? 答え) \grep /bin/grep または /usr/bin/grep にある システムにデフォルトのgrepを使うという意味。つまり、すべてのalias設定…

RaspberryPi3 Gitの脆弱性を見つけ出すプログラム(もりもり)を試す

Gitに脆弱性が発見されたようだ。CVE-2018-11235。 otameshi61.hatenablog.com こんなのを作ってくれてる人がいた。 Gitに脆弱性が発生したら「うんこもりもり」とコンソール表示してくれる。これは強烈。すぐに対処しなきゃ!となる。 twitter.com // さっ…

RaspberryPi3 fortune | figlet | cowsay でアスキーアート絵文字をウシにしゃべらせる

前回記事までの知見を合体するとこうなる。 min117.hatenablog.com $ fortune | figlet | cowsay -n コマンドを叩くたびに文字列の内容(占いメッセージ)は変わる。 // ~/.bashrc に記述して、起動時に毎回占ってもらうようにしよう。 この記述を追加すれば…

RaspberryPi3 Google翻訳をコマンドラインで使う

Google翻訳って便利だけどわざわざGoogle開くのがダルい。コマンドラインでGoogle翻訳できたらなぁ…って思って探したら、あった。 この記事そのまま。てかこのブログすごい。 orebibou.com インストールする。 $ git clone https://github.com/soimort/trans…

RaspberryPi3 sshログイン時に「今日の運勢」をウシさんに占ってもらう fortune | cowsay

前回記事で、sshログイン時のメッセージをネルフ本部のロゴに変えた。 min117.hatenablog.com 今回は sshログイン時(~/.bashrcが読まれるとき)に ウシに「今日の占い」をしゃべらせてみる。RaspberryPi3 で試す。 こんな感じになる。 debianだと /usr/game…

fedora sshログインしたときにネルフ本部のロゴを出す /etc/motd

Linuxに sshログインしたときにネルフ本部(NERV)のロゴを出したい。 こんな感じ。 sshログイン直後に表示されるメッセージは、fedoraだと /etc/motd に書くだけ。 $ cat /etc/motd ˍ▂▃▄▄ ◢████████◤ ◢ ██████████▆▄ ◥◣ ███████████████◣ ◥◣◢██████████████…

fedora SLコマンドをインストールしてD51をコンソールに走らせる

以前banner コマンドをインストールした。コンソールで遊ぶって結構大事と思う。UIそのものだから。 min117.hatenablog.com // SLコマンドというジョークコマンドがあるらしい。ジョークとはいえ、かなりすごい出来栄え。さっそくインストールする。 $ sudo …

Windows10 バッチファイル内でPowerShellコマンドを管理者権限で実行する

Windows10に入っている不要なアプリをダブルクリック一発でアンインストールしたい。バッチファイルからPowerShellを呼べば可能。ただしバッチを管理者実行しないといけない。 // できた。 doPS.bat Windows7で作ったが、Win10でも実行を確認済み。 ※ ソース…

Python 入力文字列を1字ずつ評価する(固定文字列と入力を1文字ずつ比較)

最近 paiza がお気に入り。転職じゃなくて、プログラマ向けのコーディング例題が面白い。 paiza.jp 例題)以下をコーディングせよ ① 4 回まで入力を試せる ② paiza が暗号文字列(固定)。 ③ 入力文字列を捕捉して②と比較する。 ・sdfpaizaoiu が最初に入力…

Windows ファイル名の半角空白文字をアンダーバーに置き換えるバッチ

Windowsでファイル名に半角空白が入ったファイル名は本当に扱いにくい。 例えば for /F %i in ('dir /b') do @echo %i なんてやったときに、ファイル名に半角空白があるとデリミタと解釈されちゃってtokenが複数入ってしまうなんてことになる。 // これを防…

Windows xlsをcsvに変換するバッチファイル

// 業務でxlsファイルをcsvに変換する必要が発生。調べたら、天才がいた。 kunst1080.hatenablog.com すごい。サラッとやってるのがとにかくすごい。1行目の @if (1==1) /* からしていきなり意味が分からないのでググったらどうやらバッチファイル(.bat)の…

Windows 大量のフォルダをパスワード付きzipにコマンド一括圧縮する(echo パスワード| 7z a zip名 対象dir -p)

Windows で仕事をしていて大量のフォルダを一括でパスワード付きzipに圧縮して顧客に納品したいとする。 <やりたいこと> 例)20180101というフォルダを、20180101.zipに圧縮(パスワード:himitu) 圧縮されたのを開こうとすると パスワードを求められる。…

vim キャプチャした文字列の一部を使って置き換えるホールドバッファ機能 :%s/\(¥[1-9]\),/\1/g

// カンマ区切りのcsvファイルがある。 金額の区切りもカンマになってしまっていてawkで扱いにくい。 金額の区切りのカンマだけ無くしたい。 1行目で言えば ¥8,163 を ¥8163 にしたい。 /¥[1-9], とやってキャプチャできるけど、一括置換ではフィールド区切…