ふと、sedで文字列を1文字ずつ入れ替えた一覧(「ちんすこう」が「ちんこすう」になってるなど)を作りたいと思ったので、やってみることにした。 まぁ、そんなに難しいことはなく、以下のようにコマンドを実行すればできる。

echo あいうえお | (a=$(cat);seq 0 $((${#a}-1))|xargs -n1 -I@ bash -c "echo $a|sed -r 's/(.{@})(.)(.)/\1\3\2/'")
blacknon@BS-PUB-UBUNTU-01:~$ echo あいうえお | (a=$(cat);seq 0 $((${#a}-1))|xargs...

ふと、ローカルにあるbashのrcファイルを、ssh接続先で一時ファイルを作成せずに利用できないかなーと思ったので調べてみた。 で、調べた結果bashには実行時に指定したPATHのrcファイルを読み込むオプション(--rcfile)があるのがわかった。 であれば、ssh接続時にそのコマンドを実行し、さらにローカルファイルの内容をプロセス置換でファイルとして読み込むようにssh越しに渡してやればいけるということになる。

ssh -t user@host 'bash --rcfile <(echo "'"$(cat ./path/to/local.rc)"'")' # そのまま渡す場合
s...

WSLを使っていて、Windows側のコンソールからではなく、WSL側からのコマンドでターミナルの色を変えられないかなーと思ったので調べてみた。 Windows側のコンソールであれば ColorTool.exeを使えばいけるのだけど、残念ながらWSL側からは対応していない…と思っていたのだけど、どうやら開発中のバージョン(というか別ブランチ) であればWSL側からのコマンドでターミナルの配色を変更できるようだ。

コンパイルが必要になるので、Visual Studioをインストール(+Nutget パッケージマネージャーもインストール)したあと、こちらのブランチをクローン、コ...


プロセス置換を利用して鍵ファイルをsshコマンドに読ませられないか悩んでたときに教えてもらったのだけど、zshではプロセス置換で処理した出力結果を一時ファイルに保存して利用することができるらしい。

command ... =(command ...)


以前、『メディア芸術データベース』のAPIからジャンプで打ち切られたマンガの一覧を取得しようと試みた事があったのだが、今回はより正確性を高めるためにWikipediaのジャンプの連載一覧から打ち切りマンガの一覧を作成してみる。 正直、スクレイピングならPythonでpandasとか使ったほうが楽だったりするのだけど、最初にシェル芸でやると決めたので初志貫徹やってみた。

ちょっと汚いけど、以下のようにコマンドを実行することで一年以内で連載が終わってしまった(短期集中や遺跡、続編を除く)作品の一覧を作成できる(こっちにも念の為残してある)。 (多分もうちょっときれいにできるだろうけど、そん...


ちょっと前に Golangでsshの多段プロキシSocks5プロキシ経由での接続について調べたが、今回はhttpプロキシ経由の場合どうするのかについて調べてみた。

残念ながらhttpプロキシ経由の通信(CONNECTメソッドを利用したプロキシ)で*net.Connを取得できるライブラリは無いようで、そのあたりについては書かないとならないようだ。 幸いにも サンプルコード を書かれている人がいたので、それを使ってhttpプロキシを経由したssh接続のコードを記載する。

実行可能なコードはこちらにもおいてある。

ssh_term_http_proxy.go
...