Meta tags:
description= Grav is an easy to use, yet powerful, open source flat-file CMS;
Headings (most frequently used words):
git, 俺的備忘録, can, なんかいろいろ, function, bash, mm, カタカナの文字を一括指定して置換する, コンソール上でひらがな, xargsで各引数ごとの出力の先頭を色分けして表示する, というエラーが出るようになった, shutdown, after, atexit, register, 9でasync使用時に, link, python, diffの結果をフルパスで表示させる, diffで取得する, gitで直近のmergeで発生した差分だけをgit, 復習, q1, sponsored, フォーマットを変換して出力させる, にn時間追加したり, ss, hh, dd, タイムスタンプを記録する, でaccesslog内の日付, yyyy, mawk, コンソール上でgetパラメータ付きのurl一覧から各pathごとに使われているパラメータを集計する, awk, gawk, awkで巨大な数字を取り扱う, xargsから呼び出したコマンドにキーボード入力を渡す, goでマルチプロキシやx11forwarding, awkでgetlineを使ってファイルからn行づつデータを取得させる, pkcs11での認証が行えるsshライブラリを作ってみた, 最近の投稿, page, other, tools, documents, blog, する, 別のファイルからデータを取得して差し込みetc, tmuxでアクティブpaneかどうかでの色分けをpane_synchronizedに応じて切り替える, 第44回シェル芸勉強会に参加してきました, versionが原因, pyにinstall_requiresを書いたけどpipで処理されないとき, setup, zshの補完ファイルをインストールさせるパッケージを作る, pipでbash, zshでhistoryファイル以外のファイルに実行コマンドやpwd, ceでgithubのリポジトリをpullでmirroringする, 相当の処理を, 複数のdnsサーバに複数のドメイン, chinachu, bbe, sedみたいに使えるバイナリ置換用のコマンド, 並列でpingを実行するbash, digを実行する, ipアドレスを連続で問い合わせる, pathから重複したディレクトリを削除する, px, ttyを読み込ませる, dev, 外部コマンド使用, awkで日付を変換する, インストール, perl, perlのunicodeプロパティスクリプトを使った置換, docker, q3pe4, tarでアーカイブ内のファイルをgrep, macでdockのダウンロードディレクトリの向き先をコマンドで変更する, gnu, 第45回シェル芸勉強会に参加してきました, ターミナル上で編集元のファイルを上書きする方法, fが動かないとき, sshfsでマウントしている場合にtail, watchでbashのfunctionを定期実行させる, indexからgitで管理してるファイルのpathを復元する, amatsukazeによる録画, gitlab, forwardingを使ってみよう, dynamic, 6で追加されたreverse, opensshのv7, エンコーディングを行う録画システムの構築, 自動cmカット, twitter,
Text of the page (most frequently used words):
2020 (39), #update (35), #release (35), #reading (30), #continue (30), linux (26), mac (23), git (17), #command (16), 2021 (14), #bash (13), 2019 (11), 2022 (8), awk (8), sed (6), zsh (6), bbe (6), python (5), なので (5), export (5), #gitlab (4), import (4), github (4), xargs (3), perl (3), name (3), dev (3), setup (3), https (3), only (3), seq (3), function (3), tput (3), blog (3), register (3), というエラーが出るようになった (3), shutdown (3), after (3), #なんかいろいろ (3), 俺的備忘録 (3), can (3), head (3), #atexit (3), tools (2), dynamic (2), hiragana (2), コンソール上でひらがな (2), __version__ (2), hoge (2), setuptools (2), code (2), documents (2), diffの結果をフルパスで表示させる (2), カタカナの文字を一括指定して置換する (2), chinachu (2), history (2), color (2), twitter (2), printf (2), にも組み込んでる (2), txt (2), 9でasync使用時に (2), dotfiles (2), overflow (2), grep (2), stack (2), 自分の (2), xargsで各引数ごとの出力の先頭を色分けして表示する (2), etc (2), color_green (2), cat (2), たまに (2), downloads (2), 31m (2), color_red (2), その復習 (2), amatsukaze (2), 問題および模範解答はこちら (2), prefix (2), parse (2), rev (2), install (2), sponsored (2), 問題を解くに当たって必要になるファイルは以下のコマンドで取得してくる (2), ssh (2), base (2), tmux (2), line (2), merge (2), inotify (2), forwarding (2), diff (2), pager (2), sudo (2), path (2), disable (2), yyyymmdd (2), shellgeidata (2), ryuichiueda (2), com (2), gitで直近のmergeで発生した差分だけをgit (2), diffで取得する (2), clone (2), yyyymm (2), work (2), link (2), bashrc (2), pacman (2), みたいな感じで (2), sshサーバ側からsshクライアント側にsocksの口を開くというものらしい, 知らなかった, ちょっとした作業をする際に知ったのだが, forwardingの逆で, 録画の管理には安定して動作してそうなchinachuを使う, こんなの追加されてたんだ, オプションで指定するdynamic, 今風というにはちょっと古いかもしれないが, 別途windowsサーバを用意して, 2017年頃にリリースされている, openssh, 録画サーバ, forwardingを使ってみよう, 6で追加されたreverse, opensshのv7, windows, なんでだろうなと調べてみたところ, 以降ではreverse, forwardingというものが追加されていたらしい, cmの自動カット, エンコーディングについても自動で行わせたい, をサーバとして稼働させることにした, こちらではnvidiaのgpuを使って, これでfunctionをwatchコマンド内でも実行できるようにできる, オプションの指定は簡単で, のシンボリックリンクとすることで, 個人的にその日の作業用に, thinkpad, manjaro, クライアントマシンとしてmacを使っている, 職場や自宅では, ダウンロードディレクトリ, 日付別のダウンロードディレクトリ, どうやらsshfsではsftpプロトコルを使っているので, inotifyを使ったファイルの更新検知ができないらしい, まぁそらそうだわ, ディレクトリが日付別になっていることを意, を作っておいて, このとき, watchでbashのfunctionを定期実行させる, たまにwatchコマンドとかで実行させたいときに引っかかることがある, 最近は定型的な作業はfunctionを事前に作っておいてそれを使うようにしているのだけど, 以下のように無理やり実行する方法を使っている, pythonとかからsubprocessなどで呼び出す場合でも同様だろう, watchコマンドなどではfunctionやenvは読み込んでくれない, 悲しいことだけど, null, sshfsでマウントしている場合にtail, fが動かないとき, source, 自分の場合は, そこに一時ファイルやダウンロードしてきたファイル, ceでgithubのリポジトリをpullでmirroringする, 実はgitlabではgithub等とのmirroringの仕組み自体は用意されているのだが, ceにmirroringしてバックアップをする仕組みを取り入れてみた, その一環としてgithubのリポジトリをローカルのgitlab, 今年に入ってから自宅の環境を全部作り変えしたのだけど, ce13, ではダメ, 手元の, 少なくとも, ceではpullができない, pullどっちもできるのだが, eeではpush, ceではpushしか扱えない様になっている, 残念ながらgitlab, 流石に個人用に使ってるgitlabでeeを使うのはお財布的にちょっ, その日のメモなどを配置するような使い方をしている, indexからgitで管理してるファイルのpathを復元する, もう9月になってたことに気付いてちょっとビビった, と色々やってたら, watch, 家のサーバ環境を一新したり, このblogのシステムの移行したり, なんかコロナで在宅になってたり, 今月辺りからちゃんと残すようにしよう, しばらく何も書けてなかったのだが流石にその間に忘れちゃってることも多いので, 最近は仕事の内容がインフラからwebサイトの診断とかそういうのがメインになってきてやることが結構変わって, macでdockのダウンロードディレクトリの向き先をコマンドで変更する, 日付別のディレクトリ, 録画サーバ側の構築はめんどくさいのでdockerで行う, dig, 家の大掃除と並行してnw構成や仮想基盤についてもすべて再設計しての作り直しを行っていたのだが, perlで置換処理を実行する必要がある, 漢字を抽出する, カタカナ, grepでひらがな, 先日置換が必要になったので念の為残しておく, 方法について書いてたことがあったけど, perlのunicodeプロパティスクリプトを使った置換, perlのunicodeプロパティスクリプト, がsedでは使えない, setab, みたいな指定, 残念ながら, 置換と言ったらsedなのだけど, utf8, use, ple, perlでひらがなだけを置換する場合, pathから重複したディレクトリを削除する, 最近は時間が経つのが早い, setaf, 2021年あけましておめでとうございます, で取得したgitリポジトリのpathをくっつけてやればいいようだ, 備忘で残しておく, requestからマージした際の差分だけを取りたいなということがあったので, 特定のブランチでpull, diffで, で前のcommitを取ってくればいいようだ, 知らんかったな, こんなんでできたのか, いい感じのやり方無いかなと調べた結果, diffの出力をフルパスで取得したいなぁということがあったので, お仕事中, オプションに, sgr0, show, 8のときには動作していた以下のようなプログラムで, なぜかpython3, 久しぶりにpythonのバージョンを上げてみたところ, どうも別の処理と混同していた, ちゃんとjoinしてたつもりだったけど, どうもthreadingでちゃんとjoinを待たないとエラーになるようになったらしい, なんだろうなと思ったのだが, xargsの行頭に引数を色付きで出力するようなコマンド, 同じような処理を既存のxargsで行えないかと思ったのでやってみた, について見かけたのだが, 結構前にネットサーフィンしてたところ, 色々とゴタゴタしてるうちに2020年が終わってしまった, zshrcで読み込みんだ最後にpathから重複した要素をすべて削除させることで対応することにした, そんな中でplexのpx, 普通にパッケージ管理ツールからのインストールができる, ping, sedみたいに使えるバイナリ置換用のコマンド, より効率的にバイナリの置換処理ができるらしい, sedと同じような構文で, というものがあることを知った, 実はそれ専用のコマンドで, バイナリファイルの置換とかってどうやるのかなと思ってググってみたのだが, ちょっと便利そう, インストール, macosや比較的メジャーなディストリであれば, port指定のためにcurlコマンドが必要になるけど, apt, aptの場合, brew, macosの場合, エンコーディングを行う録画システムの構築, 自動cmカット, amatsukazeによる録画, q3pe4, docker, せっかくだから今風の録画システムを作ってみることにする, q3pe4が手に入ったので, pingの他, まあfunctionとかを自由に入れられる環境なら入ってるでしょってことでチェック入れてない, どうしたもんかなと考えていたのだけど, これを修正するのも面倒だし, 再読込するとpathが重複して登録される記述がところどころに散見される状態だった, そんな年末年始にdotfilesを色々といじってる際, zshrcの末尾に記述すればいい, 以下のような記述をbashrc, digを実行する, ipアドレスを連続で問い合わせる, 複数のdnsサーバに複数のドメイン, functionを作った, 要はdigを複数のサーバに対して複数の引数で連続でバーっと雑に実行したいということがあった, 雑にパラレルにpingを打ちたいということがあったので, 複数のdnsサーバに複数のドメインやipアドレスの名前解決の結果を取得したいことがある, そんなに頻繁に実行しないだろってことでシングルになっている, 本当は並列でバーっと処理するように書いたほうが良かったのかもしれないが, 結構頻繁に使うので, 32m, fをすることがあるのだけど, 並列でpingを実行するbash, かつ雑にブレース展開などで複数のipアドレスにpingを打ったりできるようにしている, pingの行頭にtimestampを付けて, だいぶ前に, funcionを作った, そういうbash, どうも更新を検知してくれないということがあった, 2023, たまにsshfsでマウントした領域のログファイルに対してtail, pipでbash, 別のファイルから1行ずつデータを取得させたいということがあった, の中で, 先日行われた, getline, speech, というファイルの中身を差し込んでいっている, aiueo, の空行に, 以下の例では, 実行例を書いてみる, zshの補完ファイルをインストールさせるパッケージを作る, その中で, pyを作成すれば良さそうだということがわかった, 結論としては以下のようなsetup, やり方について調べてみた, zshの補完ファイルも一緒にインストールさせたいというのがあったので, pipでインストール時にbash, pythonで簡単なcuiのツールを作っていたとき, versionが原因, pyにinstall_requiresを書いたけどpipで処理されないとき, どうもinstall_requiresが処理されないということがあった, pyを書いてたのだけど, pipインストールできるように以下のようにsetup, ちょっとしたツールをpythonで作ったので, いろいろとやり方を調べたりしていたのだが, がいい感じの回答をしていた, version, 999, ttyを読み込ませる, tty, ターミナルの入力を渡すことができる, をxargsで呼び出したコマンド内部で読み込ませる事で, 以下のように, awkで巨大な数字を取り扱う, これを回避する方法について考えるという内容だった, 巨大な数字を扱おうとすると以下のようなエラーが出力されることがあるのだけど, awkでは, awkで巨大な数字を取り扱うという内容があった, 先日のシェル芸勉強会において, inf, 300, print, くんすとさん, echo, それ以上の数字になるとinfとして扱われてしまっている模様, どうも53bit分までのデータしか扱えないため, とかを漁っていると, bits, have, integer, big, does, 別のファイルからデータを取得して差し込みetc, awkでgetlineを使ってファイルからn行づつデータを取得させる, シェル芸勉強会, ins, __main__, 対象のプロセスで標準入力が開いてないとだいたいの, ターミナルログの取得, ライブラリとして外出しすることにした, ssh接続で使用している処理が肥大化してメンテナンスが辛くなってきたので, を作ってるのだけど, 個人的に, godoc, を参照してもらえれば, 細かい使い方については, 以下のようなことが簡単にできるように作ってある, cとかタブ補完もできる, ctrl, ログインシェルへの接続, タイムスタンプ付与, socks5の多段プロキシ接続, goでマルチプロキシやx11forwarding, sshやhttp, x11, port, yubikeyとかの物理, pkcs11認証, 忘れないようにいろいろ書き溜めてる備忘録, page, other, 最近の投稿, blacknon_, tweets, goでsshのクライアントコマンド, pkcs11での認証が行えるsshライブラリを作ってみた, __name__, のデータから各行列にどのような値が入って, from, platform, 第44回シェル芸勉強会に参加してきました, おわってみたらやはり難しい問題が多かった, 多分難しめなんだろうなぁと思ったけど, awkなどでゴリゴリ書いていく問題がメインらしいので, 冒頭で, そうはならんかったらしい, ということだったのだが, 今回は実用的な内容, 先日実施された第44回シェル芸勉強会に出席してきたので, マップ, pane_synchronizedかどうかに応じてこのアクティブなpaneだけ色を変えるのをtmux, 数独の問題で, tmuxでアクティブpaneかどうかでの色分けをpane_synchronizedに応じて切り替える, こんな感じ, confの設定でアクティブなpaneかどうかで色を分けるといった対応をしていたりする, 普段あまりtmuxを使っていないのだけど, confから抜粋, 自分のtmux, confに記述することで対処した, 以下のようにtmux, ちょうど自分がpane_synchronizedの切り替えをショートカットキーでトグル切り替えで処理していたので, 対処方法だが, その備忘, confで変更したいということがあったので, というか, で指定できる, そういった際にいちいちアーカイブを展開して調べるのは面倒なので, csvファイル, 相当の処理を, tarでアーカイブ内のファイルをgrep, gnu, 環境変数でtar内のどのファイルなのかも出力させることができる, 標準入力でtar内のファイルの中身を渡すことができるらしい, で指定したコマンドに対し, tarだと, blacknon, なんかいい方法が無いかなと考えていたところ, たまに過去のデータを調べるためにそのアーカイブしたファイルの中を検索したい事があったりする, csv, でアーカイブしてあるのだが, gzip, よく作業用のディレクトリとかを一定期間ごとにtar, tar内のどのファイルに指定した文字列が含まれて, ただ標準入力から受け付けてるので, tar, タイムスタンプを記録する, zshでhistoryファイル以外のファイルに実行コマンドやpwd, もし利用する場合は使い方に応じて適宜書き換えて貰えればいいだろう, 中の処理を書き換えれば実行履歴をdbに記録することもできると思うので, 今回はファイルに出力しているが, 試してみることにした, カレントディレクトリといった情報を記録できないだろうかと思ったので, data, 日別のトマト, 以外のファイルに, 使う前に, インターバルの指定は, オプションを付与してやればいいようだ, 対応としてはtailでinotifyなしでもファイルをチェックするように, 調べてみたところ, tail, ターミナル上で編集元のファイルを上書きする方法, twitterでファイルをコマンドで利用したあとにリダイレクトで上書きしてはいけないよねというツイートがあった, というか2019年の年末, 少し前, srcfileはやめとけ, srcfile, ことがある, 言っておきたい, おまえがsedを, バナナ, december, satoru_takeuchi, sat, shellの解釈の順序の関係でコマンドの処理より先にリダイレクトの処理が, 人が多いと思うのだけど, そしてやらかして学習する, これは結構やってしまう, 第45回シェル芸勉強会に参加してきました, 今回はいろんなコマンドを組み合わせて解いていくような問題が多めになっているらしい, 前回の45回はawkでゴリゴリ解いていくような問題が多かったのだけど, 先日実施された第45回シェル芸勉強会に出席してきたので, それぞれが記録されている最後の日の日付, ピーマンの売れた個数が書かれているので, 任意のフォーマットで実行したコマンドや実行時間, 通常は環境変数のhistfileで指定したファイル, 普通の, 外部コマンド使用, でaccesslog内の日付, mawk, gawk, できればjstになってる時刻でログを読みたいところ, 9時間して読み取るのはちょっとだるい, いちいち脳内で, やはり自分もjstで普段生活しているので, ここは日本であり, そういうときサーバによってはログの日付がgmtで記録されてたりする, たまにlogを見ながら作業をしたりすることがあるのだけど, 取得したログをjstに変換して出力する方法について考えてみることにした, というわけで, awkで日付を変換する, nov, これだとちょっと, のようになってしまっている, デフォルトでは日付の表記が, apacheのログなんかだと, log, xargsから呼び出したコマンドにキーボード入力を渡す, どうやったらできるのか調べてみた, xargsで呼び出したコマンドにキー入力をしたいという内容があったので, twitterをボケーッと眺めていたところ, なんとかしてターミナルを標準入力として渡してやればいいということになる, コマンドは処理を待たずに終了してしまう, yyyy, bashやzshのhistoryファイル, ごくごくたまにではあるのだが, ふとした思いつきで, もし実行コマンド, 回避することは可能なはず, ログの記録を強制できるというものではない, この方法は単純にシェルの設定で対処しているだけの方法なので, コンソール上でgetパラメータ付きのurl一覧から各pathごとに使われているパラメータを集計する, そういうスクリプト, 特定のドメインの検索結果からpathごとにどのようなgetパラメータが使われているか, 集計したいということがあった, その実行結果で, をこさえて対応していた, googleやらbingの検索結果を一覧で取得することがあったので, tech, ueda, 上田先生のブログ, そのpathごとにどのようなgetパラメータをのパラメー, 以下のようなurlの一覧が取得されるのだが, その場合, 上田先生勝手にスミマセン, その結果となるurlの一覧を抽出したとする, で検索かけて, 例えば自分がよくお世話になっている, 具体的に言うと, フォーマットを変換して出力させる, にn時間追加したり, どうやらgnu,
Text of the page (random words):
blog 俺的備忘録 なんかいろいろ 俺的備忘録 なんかいろいろ blog documents tools github twitter blog documents tools gitで直近のmergeで発生した差分だけをgit diffで取得する release 2022 04 28 update 2022 04 25 git diffで 特定のブランチでpull requestからマージした際の差分だけを取りたいなということがあったので 備忘で残しておく みたいな感じで git merge base で前のcommitを取ってくればいいようだ git no pager diff name only head git merge base head head こんなんでできたのか 知らんかったな とい continue reading linux mac git git diffの結果をフルパスで表示させる release 2022 04 27 update 2022 04 25 お仕事中 git diffの出力をフルパスで取得したいなぁということがあったので いい感じのやり方無いかなと調べた結果 みたいな感じで line prefix オプションに git rev parse で取得したgitリポジトリのpathをくっつけてやればいいようだ git no pager diff name only line prefix git rev parse show t continue reading linux mac git python 3 9でasync使用時に can t register atexit after shutdown というエラーが出るようになった release 2021 03 24 update 2021 03 20 久しぶりにpythonのバージョンを上げてみたところ なぜかpython3 8のときには動作していた以下のようなプログラムで can t register atexit after shutdown というエラーが出るようになった なんだろうなと思ったのだが どうもthreadingでちゃんとjoinを待たないとエラーになるようになったらしい ちゃんとjoinしてたつもりだったけど どうも別の処理と混同していた continue reading linux mac python xargsで各引数ごとの出力の先頭を色分けして表示する release 2021 01 06 update 2021 01 05 結構前にネットサーフィンしてたところ xargsの行頭に引数を色付きで出力するようなコマンド について見かけたのだが 同じような処理を既存のxargsで行えないかと思ったのでやってみた seq 3 8 nl xargs n2 bash c seq 1 sed s printf tput setaf 0 tput setab 0 9 1 tput sgr0 continue reading linux mac bash zsh xargs コンソール上でひらがな カタカナの文字を一括指定して置換する release 2021 01 05 update 2021 01 04 前に grepでひらがな カタカナ 漢字を抽出する 方法について書いてたことがあったけど 先日置換が必要になったので念の為残しておく perlのunicodeプロパティスクリプトを使った置換 perl 置換と言ったらsedなのだけど 残念ながら perlのunicodeプロパティスクリプト p hiragana みたいな指定 がsedでは使えない なので perlで置換処理を実行する必要がある perlでひらがなだけを置換する場合 command perl c ple use utf8 s p hiragana _ g cat a continue reading linux mac perl bash sed pathから重複したディレクトリを削除する release 2021 01 04 update 2021 01 04 2021年あけましておめでとうございます ω 色々とゴタゴタしてるうちに2020年が終わってしまった 最近は時間が経つのが早い そんな年末年始にdotfilesを色々といじってる際 再読込するとpathが重複して登録される記述がところどころに散見される状態だった これを修正するのも面倒だし どうしたもんかなと考えていたのだけど bashrc zshrcで読み込みんだ最後にpathから重複した要素をすべて削除させることで対応することにした 以下のような記述をbashrc zshrcの末尾に記述すればいい export path printf s p continue reading linux mac bash zsh 複数のdnsサーバに複数のドメイン ipアドレスを連続で問い合わせる digを実行する bash function release 2020 10 16 update 2020 10 13 たまに 複数のdnsサーバに複数のドメインやipアドレスの名前解決の結果を取得したいことがある 要はdigを複数のサーバに対して複数の引数で連続でバーっと雑に実行したいということがあった ので bash functionを作った 昔に 本当は並列でバーっと処理するように書いたほうが良かったのかもしれないが そんなに頻繁に実行しないだろってことでシングルになっている 結構頻繁に使うので 自分の dotfiles にも組み込んでる color code export color_red e 0 31m export color_green e 0 32m continue reading linux mac dig 並列でpingを実行するbash function release 2020 10 15 update 2020 10 13 たまに 雑にパラレルにpingを打ちたいということがあったので そういうbash funcionを作った だいぶ前に pingの行頭にtimestampを付けて かつ雑にブレース展開などで複数のipアドレスにpingを打ったりできるようにしている pingの他 port指定のためにcurlコマンドが必要になるけど まあfunctionとかを自由に入れられる環境なら入ってるでしょってことでチェック入れてない 自分の dotfiles にも組み込んでる color code export color_red e 0 31m export color_green continue reading linux mac ping bash zsh sedみたいに使えるバイナリ置換用のコマンド bbe release 2020 10 14 update 2020 10 13 ふと バイナリファイルの置換とかってどうやるのかなと思ってググってみたのだが 実はそれ専用のコマンドで bbe というものがあることを知った sedと同じような構文で より効率的にバイナリの置換処理ができるらしい ちょっと便利そう 1 インストール macosや比較的メジャーなディストリであれば 普通にパッケージ管理ツールからのインストールができる macosの場合 brew install bbe aptの場合 sudo apt install bbe pacman sudo pacman s bbe continue reading linux command sed bbe chinachu docker px q3pe4 amatsukazeによる録画 自動cmカット エンコーディングを行う録画システムの構築 release 2020 10 13 update 2020 10 13 最近 家の大掃除と並行してnw構成や仮想基盤についてもすべて再設計しての作り直しを行っていたのだが そんな中でplexのpx q3pe4が手に入ったので せっかくだから今風の録画システムを作ってみることにする 今風というにはちょっと古いかもしれないが 録画の管理には安定して動作してそうなchinachuを使う 録画サーバ側の構築はめんどくさいのでdockerで行う また cmの自動カット エンコーディングについても自動で行わせたい なので 別途windowsサーバを用意して amatsukaze をサーバとして稼働させることにした こちらではnvidiaのgpuを使って ハー continue reading linux windows 録画サーバ chinachu amatsukaze opensshのv7 6で追加されたreverse dynamic forwardingを使ってみよう release 2020 09 30 update 2020 10 13 ちょっとした作業をする際に知ったのだが 2017年頃にリリースされている openssh v7 6 以降ではreverse dynamic forwardingというものが追加されていたらしい d オプションで指定するdynamic forwardingの逆で sshサーバ側からsshクライアント側にsocksの口を開くというものらしい こんなの追加されてたんだ 知らなかった オプションの指定は簡単で r continue reading linux ssh gitlab ceでgithubのリポジトリをpullでmirroringする release 2020 09 29 update 2020 10 13 今年に入ってから自宅の環境を全部作り変えしたのだけど その一環としてgithubのリポジトリをローカルのgitlab ceにmirroringしてバックアップをする仕組みを取り入れてみた 実はgitlabではgithub等とのmirroringの仕組み自体は用意されているのだが 残念ながらgitlab ceではpushしか扱えない様になっている gitlab eeではpush pullどっちもできるのだが github ceではpullができない 少なくとも 手元の gitlab ce13 2 2 ではダメ 流石に個人用に使ってるgitlabでeeを使うのはお財布的にちょっ continue reading linux gitlab git bash git indexからgitで管理してるファイルのpathを復元する release 2020 09 28 update 2020 10 13 なんかコロナで在宅になってたり このblogのシステムの移行したり 家のサーバ環境を一新したり etc etc と色々やってたら もう9月になってたことに気付いてちょっとビビった ω しばらく何も書けてなかったのだが流石にその間に忘れちゃってることも多いので 今月辺りからちゃんと残すようにしよう 最近は仕事の内容がインフラからwebサイトの診断とかそういうのがメインになってきてやることが結構変わって continue reading linux mac git macでdockのダウンロードディレクトリの向き先をコマンドで変更する release 2020 01 07 update 2020 09 21 職場や自宅では クライアントマシンとしてmacを使っている manjaro in thinkpad で 個人的にその日の作業用に 日付別のディレクトリ 自分の場合は work yyyymm yyyymmdd を作っておいて そこに一時ファイルやダウンロードしてきたファイル その日のメモなどを配置するような使い方をしている このとき ダウンロードディレクトリ downloads を 日付別のダウンロードディレクトリ work yyyymm yyyymmdd downloads のシンボリックリンクとすることで ディレクトリが日付別になっていることを意 continue reading mac command watchでbashのfunctionを定期実行させる release 2020 01 06 update 2020 09 21 最近は定型的な作業はfunctionを事前に作っておいてそれを使うようにしているのだけど たまにwatchコマンドとかで実行させたいときに引っかかることがある 悲しいことだけど watchコマンドなどではfunctionやenvは読み込んでくれない pythonとかからsubprocessなどで呼び出す場合でも同様だろう なので 以下のように無理やり実行する方法を使っている watch bash c source bashrc 2 dev null function これでfunctionをwatchコマンド内でも実行できるようにできる continue reading sshfsでマウントしている場合にtail fが動かないとき release 2020 01 05 update 2020 09 21 たまにsshfsでマウントした領域のログファイルに対してtail fをすることがあるのだけど どうも更新を検知してくれないということがあった なんでだろうなと調べてみたところ どうやらsshfsではsftpプロトコルを使っているので inotifyを使ったファイルの更新検知ができないらしい まぁそらそうだわ 調べてみたところ 対応としてはtailでinotifyなしでもファイルをチェックするように disable inotify オプションを付与してやればいいようだ インターバルの指定は s で指定できる tail disable inotify path continue reading ターミナル上で編集元のファイルを上書きする方法 release 2020 01 04 update 2020 09 21 少し前 というか2019年の年末 に twitterでファイルをコマンドで利用したあとにリダイレクトで上書きしてはいけないよねというツイートがあった おまえがsedを 使う前に 言っておきたい ことがある sed e s srcfile srcfileはやめとけ sat satoru_takeuchi december 25 2019 これは結構やってしまう そしてやらかして学習する 人が多いと思うのだけど shellの解釈の順序の関係でコマンドの処理より先にリダイレクトの処理が continue reading linux mac command sed 第45回シェル芸勉強会に参加してきました 復習 release 2020 01 03 update 2020 09 21 先日実施された第45回シェル芸勉強会に出席してきたので その復習 前回の45回はawkでゴリゴリ解いていくような問題が多かったのだけど 今回はいろんなコマンドを組み合わせて解いていくような問題が多めになっているらしい 問題および模範解答はこちら あと 問題を解くに当たって必要になるファイルは以下のコマンドで取得してくる git clone https github com ryuichiueda shellgeidata q1 csvファイル data csv に 日別のトマト バナナ ピーマンの売れた個数が書かれているので それぞれが記録されている最後の日の日付 continue reading linux mac awk grep sed command gnu tarでアーカイブ内のファイルをgrep 相当の処理を する release 2020 01 02 update 2020 09 21 よく作業用のディレクトリとかを一定期間ごとにtar gzip でアーカイブしてあるのだが たまに過去のデータを調べるためにそのアーカイブしたファイルの中を検索したい事があったりする そういった際にいちいちアーカイブを展開して調べるのは面倒なので なんかいい方法が無いかなと考えていたところ どうやらgnu tarだと to command で指定したコマンドに対し 標準入力でtar内のファイルの中身を渡すことができるらしい なので 環境変数でtar内のどのファイルなのかも出力させることができる ただ標準入力から受け付けてるので tar内のどのファイルに指定した文字列が含まれて continue reading linux mac command grep tar bash zshでhistoryファイル以外のファイルに実行コマンドやpwd タイムスタンプを記録する release 2020 01 01 update 2020 09 21 ふとした思いつきで bashやzshのhistoryファイル 通常は環境変数のhistfileで指定したファイル 以外のファイルに 任意のフォーマットで実行したコマンドや実行時間 カレントディレクトリといった情報を記録できないだろうかと思ったので 試してみることにした 今回はファイルに出力しているが 中の処理を書き換えれば実行履歴をdbに記録することもできると思うので もし利用する場合は使い方に応じて適宜書き換えて貰えればいいだろう なお この方法は単純にシェルの設定で対処しているだけの方法なので ログの記録を強制できるというものではない 回避することは可能なはず もし実行コマンド continue reading linux mac command history bash zsh コンソール上でgetパラメータ付きのurl一覧から各pathごとに使われているパラメータを集計する release 2019 12 03 update 2020 09 21 ごくごくたまにではあるのだが googleやらbingの検索結果を一覧で取得することがあったので そういうスクリプト をこさえて対応していた で その実行結果で 特定のドメインの検索結果からpathごとにどのようなgetパラメータが使われているか 集計したいということがあった 具体的に言うと 例えば自分がよくお世話になっている 上田先生のブログ https b ueda tech で検索かけて その結果となるurlの一覧を抽出したとする 上田先生勝手にスミマセン その場合 以下のようなurlの一覧が取得されるのだが そのpathごとにどのようなgetパラメータをのパラメー continue reading linux mac command history bash zsh awk gawk mawk でaccesslog内の日付 yyyy mm dd hh mm ss にn時間追加したり フォーマットを変換して出力させる release 2019 12 02 update 2020 09 21 たまにlogを見ながら作業をしたりすることがあるのだけど そういうときサーバによってはログの日付がgmtで記録されてたりする ここは日本であり やはり自分もjstで普段生活しているので いちいち脳内で 9時間して読み取るのはちょっとだるい できればjstになってる時刻でログを読みたいところ というわけで 取得したログをjstに変換して出力する方法について考えてみることにした 1 awkで日付を変換する 外部コマンド使用 apacheのログなんかだと デフォルトでは日付の表記が 28 nov 2019 09 03 19 のようになってしまっている これだとちょっと continue reading linux mac command awk log xargsから呼び出したコマンドにキーボード入力を渡す release 2019 11 15 update 2020 09 21 twitterをボケーッと眺めていたところ xargsで呼び出したコマンドにキー入力をしたいという内容があったので どうやったらできるのか調べてみた 通常 対象のプロセスで標準入力が開いてないとだいたいの というか 普通の コマンドは処理を待たずに終了してしまう なので なんとかしてターミナルを標準入力として渡してやればいいということになる 1 dev ttyを読み込ませる 以下のように dev tty をxargsで呼び出したコマンド内部で読み込ませる事で ターミナルの入力を渡すことができる continue reading linux mac command xargs awkで巨大な数字を取り扱う release 2019 11 05 update 2020 09 21 先日のシェル芸勉強会において awkで巨大な数字を取り扱うという内容があった awkでは 巨大な数字を扱おうとすると以下のようなエラーが出力されることがあるのだけど これを回避する方法について考えるという内容だった echo awk print 999 300 inf stack overflow とかを漁っていると どうも53bit分までのデータしか扱えないため それ以上の数字になるとinfとして扱われてしまっている模様 c does big integer in awk only have 53 bits stack overflow continue reading linux mac command awk awkでgetlineを使ってファイルからn行づつデータを取得させる 別のファイルからデータを取得して差し込みetc release 2019 11 01 update 2020 09 21 先日行われた シェル芸勉強会 の中で 別のファイルから1行ずつデータを取得させたいということがあった いろいろとやり方を調べたりしていたのだが その中で くんすとさん がいい感じの回答をしていた cat speech awk nf 0 getline 実行例を書いてみる 以下の例では seq txt の空行に aiueo txt というファイルの中身を差し込んでいっている continue reading linux mac command awk pipでbash zshの補完ファイルをインストールさせるパッケージを作る release 2019 10 31 update 2020 09 21 pythonで簡単なcuiのツールを作っていたとき pipでインストール時にbash zshの補完ファイルも一緒にインストールさせたいというのがあったので やり方について調べてみた で 結論としては以下のようなsetup pyを作成すれば良さそうだということがわかった continue reading linux mac command python bash zsh setup pyにinstall_requiresを書いたけどpipで処理されないとき versionが原因 release 2019 10 30 update 2020 09 21 ちょっとしたツールをpythonで作ったので pipインストールできるように以下のようにsetup pyを書いてたのだけど どうもinstall_requiresが処理されないということがあった setup py import os import platform import setuptools from hoge import __version__ if __name__ __main__ setuptools setup name hoge version __version__ ins continue reading linux mac command python 第44回シェル芸勉強会に参加してきました 復習 release 2019 10 29 update 2020 09 21 先日実施された第44回シェル芸勉強会に出席してきたので その復習 今回は実用的な内容 ということだったのだが そうはならんかったらしい ω 冒頭で awkなどでゴリゴリ書いていく問題がメインらしいので 多分難しめなんだろうなぁと思ったけど おわってみたらやはり難しい問題が多かった 問題および模範解答はこちら あと 問題を解くに当たって必要になるファイルは以下のコマンドで取得してくる git clone https github com ryuichiueda shellgeidata q1 数独の問題で マップ のデータから各行列にどのような値が入って continue reading linux mac command tmuxでアクティブpaneかどうかでの色分けをpane_synchronizedに応じて切り替える release 2019 09 02 update 2020 09 21 普段あまりtmuxを使っていないのだけど tmux confの設定でアクティブなpaneかどうかで色を分けるといった対応をしていたりする こんな感じ で pane_synchronizedかどうかに応じてこのアクティブなpaneだけ色を変えるのをtmux confで変更したいということがあったので その備忘 対処方法だが ちょうど自分がpane_synchronizedの切り替えをショートカットキーでトグル切り替えで処理していたので 以下のようにtmux confに記述することで対処した 自分のtmux confから抜粋 continue reading linux mac tmux goでマルチプロキシやx11forwarding pkcs11での認証が行えるsshライブラリを作ってみた release 2020 07 20 update 2020 09 21 個人的に goでsshのクライアントコマンド を作ってるのだけど ssh接続で使用している処理が肥大化してメンテナンスが辛くなってきたので ライブラリとして外出しすることにした 以下のようなことが簡単にできるように作ってある 細かい使い方については godoc を参照してもらえれば ω ログインシェルへの接続 ctrl cとかタブ補完もできる ターミナルログの取得 タイムスタンプ付与 sshやhttp socks5の多段プロキシ接続 x11 forwarding port forwarding pkcs11認証 yubikeyとかの物理 continue reading go ssh 俺的備忘録 なんかいろいろ 忘れないようにいろいろ書き溜めてる備忘録 other page sponsored link 最近の投稿 gitで直近のmergeで発生した差分だけをgit diffで取得する release 2022 04 28 update 2022 04 25 git diffの結果をフルパスで表示させる release 2022 04 27 update 2022 04 25 python 3 9でasync使用時に can t register atexit after shutdown というエラーが出るようになった release 2021 03 24 update 2021 03 20 xargsで各引数ごとの出力の先頭を色分けして表示する release 2021 01 06 update 2021 01 05 コンソール上でひらがな カタカナの文字を一括指定して置換する release 2021 01 05 update 2021 01 04 twitter tweets by blacknon_ sponsored link 2023 blacknon
|