読者です 読者をやめる 読者になる 読者になる

どこでも見れるメモ帳

ちょっとした備忘録を無秩序に投稿します.気軽にコメントください^^

gitで変更ファイルの差分行番号を取得するには?

はじめに gitで変更ファイルの差分行内容とその行番号を取得したい状況が生じたためメモ(下画像は実行結果) やりかた git --no-pager diff --no-ext-diff -U1000000 \ | diff-lines.sh \ | grep -E "^[^\"].*\:[0-9]+\:[\+|\-]" 1行目について,git diffを…

SVN/GITリビジョン区間の更新ファイルをパッチ化する

はじめに SVNもしくはGITにおけるリビジョン区間*1の更新ファイルをパッチ化*2する作業が生じたためシェル化メモ。 やりかた(SVNの場合) # リビジョン区間(r6000-r6100)における更新ファイルについて、 # ディレクトリ構造を維持したままtar.gzに固める sv…

ローカルのシェルスクリプトをリモート実行する

はじめに 「ほぼ」同じ構成のサーバがN台あって,それぞれに対して同じスクリプトを実行したい。このときスクリプトはひとつに集約したい(=各サーバにスクリプト配置したくない)。こういうときって、どうするのが定番なんだろう・・・— Kensho (@ni66ling…

行ごとに文字数を換算する

はじめに 行ごとに文字数を計算したい状況が発生したためメモ。 やりかた $ cat input_file | while read line; do echo $line $((`echo $line | wc -m` - 1)); done 文字数の計上は $ wc -m。これはマルチバイト文字に対応しており、日本語と英語が混ざって…

sedによる文字列操作

はじめに sed*1便利ですよね.ちょっとした文字列操作が簡単にできます. ただ,日常的に使わないと,コマンドとかオプションとかを覚えるのが難しいですよね. ワンライナーな用途を前提として,どういった使い方ができるのか,整理してみました. sedコマ…

.NETのParallel.For的な処理をbashで

はじめに 「.NETやopenMPのparallel for的な処理をbashでやりたい」という状況が生じたのでメモ. 方法を簡単に言うと,xargsにseqでループカウンタを渡して,各処理をパラレルに処理する. ※xargsによる並列処理については以前に書いた*1. やりかた $ seq …

xargsで並列処理

はじめに 「コマンドライン引数を色々試したいけど,各処理がシングルスレッドで回って遅い…」という状況が生じたのでメモ. 対処法を簡単に言うと,xargsにより各処理をパラレルに処理することにより高速化する. 言ってしまえば,ターミナルを複数立ち上げ…

MySQLで全テーブルのカラム名取得

はじめに 「カラム名だけが分かっており,それがどのテーブルに含まれるのかが不明」という状況が生じたのでその対処法をメモ. 全テーブルのカラム名を取得 $ mysql -u[ユーザ名] -p[パスワード] -D[データベース名] -e "show tables;" 2>/dev/null \ | xar…