タグ

ブックマーク / rcmdnk.com (62)

  • ObsidianでEvernoteライクにWebクリップ、トレイアイコン化で使う

    B! 3 0 0 0 ノートアプリのEvernoteの1つの使い方はWebクリップでした。 また、さっと呼び出して必要な情報を検索したりすることもよくやること。 Obsidianでも色々とWebクリップを行う方法がありますが、 Evernoteライクにブラウザからぱっとクリップして後で確認出来るような状態にしたり 検索を呼び出せるようにする方法について。 今回はWindows 11、ブラウザはChromeな環境で行っています。 やりたいこと Obsidian側の設定 ホットキー コミュニティープラグイン ブラウザの設定 使い勝手 Webクリップ 検索 AutoHotkeyで改善 Obsidianでの検索 Webクリップ やりたいこと Evernoteでやっていたことに対応して、 ブラウザで開いているページや選択部分をぱっとObsidianのノートとして保存する。 URLだけではなく内容その

    ObsidianでEvernoteライクにWebクリップ、トレイアイコン化で使う
  • シェルスクリプトでスクリプトの引数をループする方法

    B! 63 0 0 0 今更ながら知ったこと。 通常の方法 in無し The for Loop (POSIX Shell Command Language) ;の省略 man bash その他の方法 参考 通常の方法 bashとかでよくやる方法は arg1.sh 1 2 3 4 5 #!/usr/bin/env bash for arg in "$@";do echo "$arg" done とする方法。 "$@"はスクリプトの引数を展開し、ダブルクォートしてあると 引数毎に分けてダブルクォートした状態で展開します。 1 2 3 4 $ ./arg1.sh a b c a b c "$*"とすると同じく展開しますがダブルクォートが全体について for文で回すと1つの引数として扱われます。 大概のシェルで同様の動作をします。 これは関数の引数も同じで、 arg2.sh 1 2 3 4 5 6

    シェルスクリプトでスクリプトの引数をループする方法
    fumikony
    fumikony 2023/05/21
  • M1 macでIntelな環境のシェルを使ったCronジョブを流したりする

    B! 8 0 0 0 Appleシリコン(M1チップ)の載ったMacが販売されて大分経つので アプリなども大分M1に対応したものが増えてきましたが まだIntelプロセッサな環境でないと動かないものも結構あります。 通常のアプリはM1に対応してなくてもRosettaによってIntelプロセッサの上で動いている様にして 動かすことが可能です。 CLI環境に関しても同じようなことが出来るのですが、ちょっと特殊な状態があったのでそれについて。 Homebrewのインストール(M1用) Homebrewのインストール(Intel用) パスの設定(.bashrc/.zshrc) シェルの設定 シェルの状態 Intelなcronジョブを流す Homebrewのインストール(M1用) 最初から入っているターミナル.appでもiTerm2のような3rdパーティーなアプリでも良いですが、 通常はM1でそのま

    M1 macでIntelな環境のシェルを使ったCronジョブを流したりする
  • バージョン番号のソート

    B! 81 0 0 0 v8.10.1みたいなバージョン番号をソートしようとするとき、 単にsortコマンドとか使うとv8.2.1とv8.10.1で真ん中の2と10の1だけを 見て思ったのと逆にソートされてしまいます。 かといって単純に-nで数字として全体を見ることもできないのでちょっと工夫が必要です。 sortコマンド 区切ってソート sort -V git tagでの表示 sortコマンド v1.2.1 v1.10.1 v2.2.1 v2.2.2 v2.2.10 v10.2.1 みたいな内容のversions.txtというフィアルの中身をソートしたいとき、 期待するのは上の形になることです。 これをそのままsortコマンドとかに入れると $ sort versions.txt v1.10.1 v1.2.1 v10.2.1 v2.2.1 v2.2.10 v2.2.2 となります。 このま

    バージョン番号のソート
    fumikony
    fumikony 2020/09/27
    すごい
  • Macで濁点とかが起こす文字化け問題について

    B! 24 0 0 0 Macの中でGNU screenなどを立ち上げると文字化けすることがありますが、 その辺の問題についてのメモ。 Macでの文字化け問題 問題の確認 Windowsでの文字化け問題 HomebrewでインストールするGNU screenの文字化け対策 Macでの文字化け問題 Macの中でGNU screenを立ち上げたらファイル名の表示などが文字化けしたりすることがあります。 殆どの場合は日語ファイル名で濁点を使ってる場合で、文字コードの問題です。 ただ、単純にUTF-8かShift_JISか、とかそういったものではなく、濁点や半濁点の扱いの特殊さによります。 MacではFinderでもターミナル上でも基的にUTF-8で文字を扱いますが、 UTF-8の中でもいくつか文字の取り扱いに対して違うものが存在します。 FinderではNFD(Normalization F

  • Batsを使ったシェルスクリプトのテスト

    B! 58 0 0 0 (Bashの)シェルスクリプトに関してテストを導入するために フレームワークとしてBatsを導入します。 bats batsの使い方 assertion シェルスクリプトでなくても使える bats シェルスクリプトのテストツールとして恐らく一番有名なツール。 オリジナルはこちら。 こちらは4年くらい前に更新が止まっていますが、 個人でメンテナンスを続けていくことが難しくなったときに みんなで続けていこうとして使われる様になったのが 以下のレポジトリ。 batsというアカウントはすでに他に取られていたのでこういう名前になった模様。 Call for Maintainers · Issue #150 · sstephenson/bats Information about community-maintained fork · Issue #236 · sstephen

    Batsを使ったシェルスクリプトのテスト
  • macOS 10.15 Catalinaへアップグレード

    B! 18 0 0 0 macOS 10.15 Catalinaのアップグレードが来ていたのでとりあえずアップグレード。 macOS 10.15 Catalina アップグレードにかかった時間 アップグレード終了後アプリに対する許可処理 フリーズ Touch IDがセキュリティ関連でちゃんと使える様になった? Finderでオリジナルの項目が見つからない デスクトップ上に作られた場所が変更された項目 Zshアピール 使えないアプリケーション Dcokの余計なもの iTunesからミュージック システム環境設定 スクリーンショットのサムネイルが表示されるようになった タッチバーが表示されない Caps Lockのランプが付いてる まとめ macOS 10.15 Catalina 前回から1年ちょっとぶりのアップグレード。 macOS Mojave (10.14)へのアップグレード 新しいもの

    macOS 10.15 Catalinaへアップグレード
  • GitHubのレポジトリについたスターを可視化する

    B! 20 0 0 0 GitHubでプログラムなどを公開してスターが付いて行くと嬉しいものですが、 増えていく様子などを見るとさらにやる気が増します。 そのへんのことが出来るいくつかのツールを紹介したいと思います。 StarTrack-js Star history get-profile-data-of-repo-stargazers github_stargazers_map StarTrack-js スターの増加履歴をグラフ化などして可視化してくれるツールはいくつかあるみたいですが、 StarTrack-jsというのが数値の解析なども載せてくれるので良い感じでした。 GitHub Star History and Stats 複数のレポジトリを同時にグラフに載せることも可能で また下の方にはMax stars in one dayなどの情報を表にして表示してくれます。 rcmdnk

    GitHubのレポジトリについたスターを可視化する
  • Karabiner-Elementsで日本語入力状態を把握してキー設定出来る様になった

    B! 23 0 1 0 Macのキー設定アプリの Karabiner-Elements でIMEの状態を見て日本語入力状態かどうか等を判断して キー設定を出来る様になった様です。 input_source_if/unless VimでNormalモード切り替え時にIMEをOFFにする input_source_if/unless 現在はまだベータ版のみですが、input_sourceも加わりました。 以前Karabinerで出来た様にIMEの状態等を見て判断することも可能になりました。 Karabiner-Elements/NEWS.md ベータ版はKarabiner-Elementsの環境設定でMiscタブに行って Check for beta updatesを行うとインストールすることが出来ます。 現在のベータ版は11.1.11になります。 新しくシステムにアクセスする部分があるためか

    Karabiner-Elementsで日本語入力状態を把握してキー設定出来る様になった
  • .bashrc/.zshrcを再読込した際にPATHを余計に追加しないようにする方法

    B! 9 0 0 0 BashやZshで設定ファイルである.bashrcや.zshrcをちょっと変更して 再び読み込む場合、 PATHの値などは基付け加えていく様な設定になってるため、 読み込む度に同じPATHが付け加えられていってやたら長いPATHの値になったりしてしまいます。 そういったことを避けるために最初にちょっと付け加えておく設定について。 .bashrc/.zshrcでのPATHなどの設定 _reset_path PATHを追加する時のもチェックする .bashrc/.zshrcでのPATHなどの設定 .bashrc/.zshrc の中で export PATH=/home/USER/bin:$PATH みたいな設定をして自分用のPATHを追加する事があると思います。 この設定のまま.bashrc/.zshrcを再び読み込むと $ echo $PATH /home/USER/

    .bashrc/.zshrcを再読込した際にPATHを余計に追加しないようにする方法
  • GNU/BSDでのxargsの振る舞いの違い

    B! 13 0 0 0 findコマンドなどと組み合わせてパイプから受け取る入力を 引数としてコマンドを実行するxargsですが、 GNU版とBSD版の間で違いが結構大きい様です。 ちょっと調べたら色々あるみたいなんですが、 今回ひっかかった特にはまりやすいかな、と思う点についてメモしておきます。 出力が空の場合に一回実行するかどうか –no-run-if-empty (-r) オプション オプションを扱うラッパー関数 出力が空の場合に一回実行するかどうか 簡単な例として、echoで出力を作ってそれをそのままechoで受け流す様なxargsの使い方を考えます。 $ echo aaa| xargs echo "bbb" bbb aaa こんな感じ。パイプの後ろは $ echo bbb aaa に置き換わって実行されています。 これはGNUでもBSDでも同じように実行されます。 次に最初の出力

    GNU/BSDでのxargsの振る舞いの違い
  • lsコマンドのcolumnな表示について

    B! 5 0 0 0 lsコマンドはコマンドライン操作を覚える時に真っ先に覚えるコマンドだと思います。 簡単なコマンドなので改めてマニュアルを読むことはあまりないかと思いますが ちょっと気になって読んでみてコラム表示などについてあまり良く知らなかったので メモしておこうと思います。 lsにはGNU版、BSD版がありますが、確認した限りでは以下のことは共通です。 lsのターミナルへの通常表示 ls -x ファイルやパイプに繋いだ時の表示 ファイルやパイプに繋いだ時も複数列表示にしたい時 ターミナル表示で各行1ファイル/ディレクトリ表示したい時 column lsのターミナルへの通常表示 ターミナル上でlsコマンドを打つと、 $ ls Applications Documents Dropbox Movies Pictures tmp Desktop Downloads Library Mus

    lsコマンドのcolumnな表示について
  • WerckerのタスクをDockerを用いてローカルでテストする

    B! 22 0 1 0 wercker を使ってこのブログをビルドしていますが、 Dockerベースのものに移行した時にちょっと分からないことがあって手間取りました。 werckerの環境が良くわからないのでwecker.ymlに色々werckerのチェックを入れて pushしてウェブで確認みたいなことをしてましたが、 ちょっと色々やりたい時にそれだと面倒なので、 ローカルで直接タスクを実行する Wercker CLI を試してみました。 Wercker CLI Dockerをインストール Wercker CLIをインストール Weckerをローカルで走らせてみる Octopressのサイトのビルドでちょっとトラブル まとめ Wercker CLI Wercker CLI: http://www.wercker.com/wercker-cli はWerckerのタスクをローカルマシンで実行

    WerckerのタスクをDockerを用いてローカルでテストする
  • shell-logger: シェルスクリプトで良い感じにログアウトプットを管理する

    B! 13 0 0 0 プログラムを書いている時に出力をDEBUGやERRORと言った レベルに分けておいたりすることがよくあると思いますが、 シェルスクリプトでそんなツールを用意してみました。 ちょっと工夫としては、ファイルへ出力されたりパイプでコマンドに渡す様な時は、 grepとかでやっているように色の装飾などを消す、という作業をしてる点。 shell-logger 使える関数 オプション shell-logger内で使ってるShell技 出力がファイルなどへの出力かどうか調べる 変数が数値であるかどうかチェックする 標準エラー出力を直接行うコマンド Zshの配列の調整 シェルスクリプトで使う色のチェックなど shell-logger このレポジトリにあるetc/shell-logger.shをsource .../etc/shell-logger.sh等として読み込むと errやwa

    shell-logger: シェルスクリプトで良い感じにログアウトプットを管理する
  • Homebrewの改変でbrew-pip/brew-gemのアンインストールに注意が必要

    B! 13 0 0 0 Homebrewの中でpipに関するパッケージも管理できる様にする brew-pipというコマンドがあるのですが、 これに関してパッケージを削除する時にこれまで通りの方法では 削除出来なくなっています。 brew-pip/brew-gem Homebrewのアップデート brew-pip/brew-gem brew-pipは Homebrewでインストールするとbrew pipというコマンドが使える様になり、 続けてpipでインストール出来るパッケージを入れると pipでインストールし、かつHomebrewの管理下におかれます。 Homebrewでpip関連も取り扱う 具体的には、例えばdjangoをインストールする場合、 brew pip djangoとすると、pip install djangoが実行され、 かつ、/usr/local/Cellar/pip-dj

    Homebrewの改変でbrew-pip/brew-gemのアンインストールに注意が必要
  • stowでmake installしたパッケージを管理

    B! 12 0 0 0 pacoでmake installしたパッケージを管理 で書いた様に、Linux(WindowsのcoLinuxも含む)で make installしたパッケージも管理出来る様にしましたが、 Cygwinにもpacoを入れようとした所コンパイル出来なかったので 代わりにstowと言うインストーラーを入れました。 Cygwinではpacoをコンパイル出来ない stow paco v.s. stow stowインストール stowの使い方 すでにインストールしてあるパッケージに対してstowで再インストールする場合 まとめ Cygwinではpacoをコンパイル出来ない pacoのパッケージを取ってきてCygwinでコンパイルしようとすると log.c:67:20: error: ‘RTLD_NEXT’ undeclared (first use in this func

    stowでmake installしたパッケージを管理
  • HomebrewがAnalyticsを導入し使用OS等の情報を集める様になった

    B! 196 0 0 0 MacのHomebrewでbrew updateをした際に気づいた人も居るかと思いますが、 HomebrewではGoogle Analyticsを使って Userの使用しているOSや使われてるFormula等の情報を集める事を開始しました。 Homebrew’s Anonymous Aggregate User Behaviour Analytics ユーザーの反応 まとめ Homebrew’s Anonymous Aggregate User Behaviour Analytics 最近brew updateをした際、 $ brew update ==> Homebrew has enabled anonymous aggregate user behaviour analytics Read the analytics documentation (and h

    HomebrewがAnalyticsを導入し使用OS等の情報を集める様になった
  • GNU screenで再接続時に二重起動を防ぐスクリプト

    B! 7 0 0 0 GNU screenは何と言っても一度ターミナルを落としたりsshが切れたりしても 再度ログインした時に同じ状態に戻せるのが便利なところですが、 たまにちょっとした作業をして残っているセッションがあるにも関わらず 新たにセッションを立ち上げてしまうことがあります。 そんな二重起動を防ぐスクリプトについて。 GNU screenの二重起動防止スクリプト GNU screenの二重起動防止スクリプト 以下の様なスクリプトを.bashrc等の設定スクリプトの中でsourceするなり 直接設定スクリプトの中に書くなりします。 screenと言うラッパー関数を作って来のscreenコマンドの代わりに これが呼ばれる様になります。 セッションが一つだけ存在する場合は $ screen -d -r します。現在Attachされていても他のターミナルでのセッションを落として 新たに

    GNU screenで再接続時に二重起動を防ぐスクリプト
  • Bashの補完について

    B! 26 0 1 0 BashのTabを押した時に出る補完の自作等について。 Bash補完 complete 補完補助関数 COMPREPLY compgen COMP_WORDS, COMP_CWORD Bash-Completion MacのHomebrewでBash補完のファイルをインストールするFormulaを作る Bash補完 complete Bashであるコマンドに対して補完を出来るようにしてあげるには complete -F _comp_func cmd とcompleteコマンドを使います。 これでcmdというコマンドに対する補完を_comp_funcという関数で与えます。 -Fで関数を指定。 この_comp_funcという関数は別で定義しないといけませんが、 この関数は通常ダイレクトに使われてほしくないもの(使っても意味無いもの) なので_を最初に付けたりして通常のコ

    Bashの補完について
  • Mac 10.10 Yosemiteでのホスト名の設定

    B! 21 0 0 0 前にMacホスト名の設定 の所で ローカルネットワークでない場合のホスト名 の設定をしてましたが、使っているファイルがYosemiteでは完全に消去されて 同じ設定方法ができなくなったのでそれのアップデート。 Yosemiteでの、としてますが、Mavericks以前でも恐らくこの方法の方が 正しかったんでは、と思います。 ローカルネットワークでない場合のホスト名@Yosemite ローカルネットワークでない場合のホスト名@Yosemite Mavericks以前では/etc/hostconfigというファイルがあって、その中に HOSTNAME=myMac.local とか書いておけば、グローバルネットワーク上でもmyMac.localという ホスト名を指定することが出来ましたが、Yosemiteでは/etc/hostconfig自体が もう使われなくなりました

    Mac 10.10 Yosemiteでのホスト名の設定