by shigemk2

当面は技術的なことしか書かない

Linux

yamllint 1.16.0

FreeBSDインストール方法追記 lineのチェック DOS改行コード対応 allowed-valuesにtruthy追加 configのenum対応 yamllint/CHANGELOG.rst at master · adrienverge/yamllint · GitHub

uni2ascii ascii2uni

マルチバイト文字とユニコードの変換コマンド C言語で作成 最終更新は2011の4.18 $ echo "〜" | uni2ascii -q 0x301C $ echo "〜" | ascii2uni -q 〜 uni2ascii

curl 7.65.1

スマホだと読みづらい curl - Changes

su shell option

ログインシェルを指定する 使い方としては su -s /bin/bash user のような感じで、nologinユーザーのログインなどに有効。 なお、-s オプション、GNU限定でMacOS High Sierraのsuだと -s オプションがないし、FreeBSDだと違う挙動なみたい。 -s SHELL, --she…

ghq v0.12.5

リファクタ refine local cloning path detection Adjust metafiles Release Checking in changes prior to tagging of version v0.12.5 · motemen/ghq · GitHub

gawk RS

RS レコードセパレータの意。データをレコードごとに、レコードセパレータの文字で分割するが、デフォルトは改行文字(\n) The GNU Awk User's Guide - 入力ファイルの読み込み

csvq 1.11.2

標準偏差系の関数が追加された Release Release v1.11.2 · mithrandie/csvq · GitHub

yamllint

yamllint lは2度つづく yamlintじゃない Quickstart — yamllint 1.15.0 documentation digdagのdigファイルをyamllintしてもいいけどデフォルト設定では盛大にwarnがでまくると思うので設定の調整は必要 Configuration — yamllint 1.15.0 documentation

fisherで自前パッケージを作る。

fisherで自前パッケージを作る。 ここを参考に。ディレクトリ構成はこんな感じ。fish-ghqとかが分かりやすいかも。なお、ディレクトリ名を間違えると全体としてエラーにはならないがインストールもされない。 fish-kraken ├── fishfile ├── functions │ └── …

memo awesome-fish

fisherのパッケージって探しづらいけどいちおうここに一部ある でもほしいなあfisher search的なやつ GitHub - jorgebucaran/awesome-fish: A curated list of packages, prompts, and resources for the amazing fish shell

memo fzf fish

本家 GitHub - junegunn/fzf: A command-line fuzzy finder fisherでfishのキーバインド追加 GitHub - jethrokuan/fzf: Ef--ient fish keybindings for fzf fisherでghqのキーバインド追加 GitHub - decors/fish-ghq: ghq completion and keybinding for fis…

glibc 令和

次は何年後か分からないけど changelogも自前でパッチ当てないといけないのね sourceware.org Git - glibc.git/commitdiff

ghqのプルリク

ghq getで落とせる場所を指定したかったけど、ghq getしたあとにmvしたらいいじゃんといわれたのでクローズ。 github.com

xargs 引数指定

xargsを第一引数に指定する時。{}をつかう。 $ echo 192.168.1. | xargs -I{} grep {} *.txt Make xargs pass as first parameter - Unix & Linux Stack Exchange

scp exclude

exclude的なことはscpではできない。rsyncでがんばる。 rsync -v -r --exclude '*.csv' 同期元 同期先 【 rsync 】コマンド(その1)――ファイルやディレクトリを同期する:Linux基本コマンドTips(82) - @IT

awkの結果をカンマ区切りしたい

awkの結果をカンマ区切りしたい ふつうにprintしただけではダメ(たぶんカンマのパースが出来ていない)。 $ awk -F',' { print $1,$2,$3 }' input.csv printfを使おう。 $ chaet awk ... seq 9 | sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d…

jqで出力結果を単一の配列にしたい

jqで出力結果を単一の配列にしたい はい。 jq '[.[] | {message: .commit.message, name: .commit.committer.name}]' 通常の jq . とか jq .[] みたいな書き方をすると、単一のJSONじゃなくて無数のJSONが出来上がるので、最初からカッコでくくる。 Tutorial

BSD系xargsのunterminated quoteとオマケ

unterminated quote はBSD系のxargsでシングルクオート/ダブルクオートが含まれるファイルを操作しようとするときに出てくるエラー。 以下ソースコード(公式ミラー)。引数をパースしようとしているときにシングルクオート/ダブルクオートが含まれていたら un…

類似したyq

jqのYAMLバージョン。圧倒的類似。どっちがどっちかパット見分かりづらい。kislyukのほうがPython実装で、mikefarahのほうはGolang実装。homebrewでインストールできるのはmikefarahのほうで、kislyukのほうをインストールしたければbrew install python-yq…

nproc

nproc print the number of processing units available

awkをdate formatぽいことしたい

awkをdate formatぽいことしたい awkの結果をdate formatしたい。。。 $ awk 'BEGIN{print strftime("%Y/%m/%d %H:%M:%S",1410325425)}' $ awk test.csv 'BEGIN{print strftime("%Y/%m/%d %H:%M:%S",$1)}' これは強力! AWKとパイプの新しい関係 ~ 時刻を取…

csvからダブルクオート削除

csvからダブルクオート削除 awkとgsubのコンボ。 $ awk '{gsub(/\"/,"")};1' input.csv 1で全部 gsubで変換 linux - how to remove the double quotes in a csv - Unix & Linux Stack Exchange

複数ファイルを同時にunzipする

unzip *.zip ってやってもうまくいかないから、unzip '*.zip'とするとうまくいく。 例えば a.zip b.zip c.zipを1コマンドで同時に解凍したいと思ったときにunzip *.zipは実際どういうふうな実行なのかというと unzip a.zip b.zip c.zip で、b.zipとc.zipはun…

ag regex

ag regex 正規表現書けるのは普通に普通なんだけど、シングルクオートでもダブルクオートでも挙動は変わらない $ ag '\d,\d' test.csv

rehash

ハッシュテーブル再構築。挙動はぜんぜん違うけど、似たようなことをpyenvなどでも確認できる。 rehashコマンドの使い方: UNIX/Linuxの部屋

evinceのショートカット集

evinceのショートカット集。 別ウィンドウに切り替えは出来ないっぽい Keyboard shortcuts

awk documentation

awk documentation GNU The GNU Awk User’s Guide BSD awk(1) 少なくともsubstrは一緒らしい

dateのdateオプション

dateのdateオプション date --date "@1234567890" BSDでもGNUでもdateの--dateオプションは同じものを返してくれる

jq del

Input {"foo": 42, "bar": "less interesting data", "baz": "sdkjhsdf"} Output {"foo": 42, "baz": "sdkjhsdf"} こういうときは del(.bar) をつかう github.com

memo opensshunixdev forum

ML自体はあって、gmailじゃないぽいし、パッチはgit send-mailだけどForumはあったりする よくわからない Google グループ