min117の日記

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

正規表現

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

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

bash grepの-oP(または-Po)オプションとは? → 正規表現にマッチした列のみ抜き出す

素晴らしい記事を発見。grep には -oPというオプションがあるらしい(-Poでも同じ)。 -o マッチした列のみ切り出す(grep | awk 正規表現 と同じ) -P Perlの正規表現を使って抜き出す とくに -P(ハイフンP)オプションについては情報がなくて探すのに苦労…

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

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

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

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

bash 容量の小さい動画ファイルを一括削除する ls -shal | grep mp4 | awk '{if ($1 ~ /512/) print $1,$10}'

// HandBrakeCLI で動画の一括変換するも失敗してファイルサイズが 512KB になってしまったものがある。ファイルサイズ順で一覧化すると512KBになっているのがわかる。 min117.hatenablog.com $ ls -shalS 正常に変換されると適切なファイルサイズが出るが …

bash if文の中で正規表現を使う

// RaspberryPi や fedora の bash にて。 「あるフォルダの中の全てのファイルを調べて、ファイル名の頭が数字3桁のものだけ表示する」をやりたい。 ーーー まず「あるフォルダの中の全てのファイルを調べる」のは、超簡単。毎日やっている。 $ for i in *;…