by shigemk2

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

Linux

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

phpbrew

pyenvとかnodebrewとかの親戚。fish shellにもいちおう対応している。素直にcurlでダウンロードしたやつをPATHの通ったところに置くと良い。 phpbrew/README.ja.md at master · phpbrew/phpbrew · GitHub

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 グループ

git install ubuntu

公式サイトのっとるがな。PPA使えっていわれてる add-apt-repository ppa:git-core/ppa # apt update; apt install git Git

opensshのソースコード

こちら。 https://anongit.mindrot.org/openssh.git GitHubじゃないぞ。こっちのプルリクはもれなくクローズされている。 github.com autoreconfしてconfigureファイルを作成して、あとはconfigure make make install。場所を指定したいときは--prefixオプシ…

OpenSSH_7.9p1 ConnectTimeoutオプションと接続試行回数を指定するConnectionAttemptsオプションが両立しない

OpenSSH_7.9p1 MacOS 10.13.6 ssh -vvvv -o ConnectTimeout=2 -o ConnectionAttempts=2 hostname ssh接続でタイムアウトになる時間を指定するConnectTimeoutオプションと接続試行回数を指定するConnectionAttemptsオプションが両立しない。 上記のようなコマ…

curl time_totalでちょっとしたパフォーマンス確認

PageSpeed Insightsとかを使いたくない人、かつ、ちょっとパフォーマンスを確認したい人向け。 curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nStatus Code:\t\t%{http_code}\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t…

mpg123 連続再生

mpg123 いちおう複数ファイル名を並べたら連続再生はできる mpg123 - コマンド (プログラム) の説明 - Linux コマンド集 一覧表

mpg123

Ubuntu 18.04 mpg123 1.25.10 mp3をコマンドラインで再生するやつ。 mpg123 hoge.mp3 みたいなつかいかた。1.5倍速みたいなのをやりたいときは、-d のnフレームおきにしかやらない + -h 各フレームをn回演奏、のコンボ。 -d 5 -h 4 みたいなので1.25倍速がじ…