タグ

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

  • バージョン番号のソート

    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 となります。 このま

    バージョン番号のソート
    uneasy
    uneasy 2020/09/27
  • GitのPagerの設定

    B! 42 0 0 0 ターミナル作業中に何かを表示させるとき、 長いと上側が切れてターミナルウィンドウのスクロールなりなんなりで戻らないと行けないので 面倒です。 なので長い出力はlessにパイプで渡したり、コマンドそのものがlessに渡したりすることがあります。 Gitでもいろいろと長い出力がありますが、 lessに渡されるものとそうでないものがあります。 その辺の設定について調べてみたメモ。 パイプにつなぐ PAGER: シェルでの設定 GIT_PAGER core.pager pager.XXX git –no-pager/–paginate 優先順位 lessのオプション パイプにつなぐ $ git diff |less の様にすればlessで見れるわけですが、この場合Gitは標準出力ではない ところの出力するとして、デフォルトではカラー表示などを止めます。 表示を常に有効にして

    GitのPagerの設定
    uneasy
    uneasy 2018/08/26
  • Blink Shell: iOSでmoshを使う

    B! 15 0 1 0 Blink Shell はiOS用のターミナルアプリで mosh が使える(現状恐らく唯一の?)アプリです。 このアプリ、アップルストアだと2400円ほどしてちょっとお高めなのですが、 ソースコードは公開されていて自分でビルドして入れる分には無料で試すことが出来ます。 その方法がちょっと面倒だったのでまとめておきます。 mosh Blink Shell Blink Shellのビルド方法 Blink Shellの使い方 mosh iPhoneなどの携帯端末では基Wi-fiなりモバイルの電波で作業することになりますが 特に外で作業しようとモバイル接続で行う際には不安定で 切れてしまうことも多々あります。 そんな時に通常のsshでは毎回つなぎ直さなくてはいけないし、 例えscreenとかを使っていたとしても面倒です。 moshはネットワークが一度切れても つながり次第

    Blink Shell: iOSでmoshを使う
  • 古いVimがある環境でも共通のvimrcを使う書き方

    B! 7 0 0 0 先日Vim 8.0がリリース されましたが、最近プラグインで8.0以上じゃないとダメだよ、という 物も出てきました。 こう言った時に、 dein.vim等を使ってvimrcで 全てのプラグインを管理していると古いvimしか入ってない環境でちょっと面倒です。 そういった場合に一つのvimrcで簡単に処理する書き方について。 vimrc内でのVimのバージョンチェック vimrc内でのVimのバージョンチェック vimrcに限ったことではありませんが、 Vimのメジャーバージョンはv:versionと言う値に入っています。 コマンドモードで :ehco v:version とすると800とか704とか出てくると思います。(vim 7.4だと704。) これを使えばVimスクリプトで 1 2 3 if v:version >= 800 echo "settings for

    古いVimがある環境でも共通のvimrcを使う書き方
    uneasy
    uneasy 2016/10/24
  • GNU screenで再接続時に二重起動を防ぐスクリプト

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

    GNU screenで再接続時に二重起動を防ぐスクリプト
  • multitailで複数のログを同時に監視

    B! 52 0 17 0 tail -fとかのコマンドでログ等のアウトプットを プロンプト上に表示させ続ける事が出来ますが、 MultiTail というコマンドを使うと 複数のログを一つのコマンドで一気に表示し追い続ける事が出来ます。 Multitail インストール 主な起動方法 起動中のコマンド まとめ Multitail インストール インストールは Macなら、 $ brew install multitail Linuxとかなら $ yum install multitail または $ apt-get install multitail 等。 Cygwinなら $ apt-cyg install multitail もしくは自分で Download してコンパイル。 主な起動方法 インストールするとmultitailというコマンドが使えるようになります。 基的な使い方は $

    multitailで複数のログを同時に監視
  • Vimのdiffモード関連Tips

    B! 258 0 0 0 Vimのdiffモード機能はVimを使うべき一つの大きな理由になるくらい便利なものだと思います。 違いを見るためだけでも左右に並べて見れるので diffコマンドなんかよりもよりわかりやすく見ることが出来ます。 そのdiffモード関連のVimの機能やプラグイン等のまとめ。 vim -d vimdiff :diffsplit diffモードでの操作 diffモードの設定 :DiffOrig linediff.vim vcscommand.vim diffchar.vim vim-diff-enhanced vim -d 2つの似たようなファイルを比べたい時に $ vim -d a.txt b.txt とすると2つを比べた状態でファイルを開くことが出来ます。 3つ以上同時に比較することも可能です。 diffモードでは以下のオプションがセットされます。 diff: on,

    Vimのdiffモード関連Tips
    uneasy
    uneasy 2016/02/29
  • OS Xでバージョンをコマンドラインから確認する方法

    B! 9 0 0 0 Travis CIでのOS X環境について(+Linux環境についても) の所で使った OS Xのバージョンを調べる方法についてのまとめ。 OS Xのバージョン情報 OS Xのバージョン情報 Macでバージョンを確認したければ、一番簡単なのは メニューバーの(リンゴマーク)から このMacについてを開けば こんな感じでMacの情報とOSのバージョン情報が見て取れます。 さらにシステムレポートを開いて ソフトウェアを見れば システムソフトウェアの概要: システムのバージョン: OS X 10.11.3 (15D21) カーネルのバージョン: Darwin15.3.0 ... みたいな感じでより詳しく見ることが出来ます。 ざっと見る感じではこれで良いですが、 シェルスクリプトなどでコマンドから直接バージョンを見て 作業したいことがあるときは sw_versというコマンド

    OS Xでバージョンをコマンドラインから確認する方法
    uneasy
    uneasy 2016/02/15
  • Zshの補完について 2

    B! 46 0 0 0 以前、 Zshの補完について ちょっと書きましたが、 足りない所とか理解しきれてなかった所があるので追記。 Zshの補完について 補完設定ファイルの作成 補間関数がロードされるタイミング Zshの補完について 取り敢えず前回のはこちら。 Zshの補完について 補完を有効にするために autoload -U compinit compinit を.zshrc等で設定しておくことやcompdef/compadd等の 補完を作成、登録するコマンドなどについてまとめています。 上のautoloadはcompinitを有効にさせるためのコマンド。 compinitは指定されたパスにある補完ファイルから 補完をアップデートして、~/.zcompdumpというファイルに コマンドとそれに使う補間関数の定義の一覧を作成します。 パスはfpathまたはFPATHで設定されていて、 何

    Zshの補完について 2
    uneasy
    uneasy 2016/02/12
  • OS X 10.11 El CapitanのSystem Integrity Protection(SIP) (rootless)についてちょっと詳しく

    A bit more detail about SIP (System Integrity Protection) of OS X 10.11 El Capitan B! 133 0 6 0 Homebrewを使うにあたって問題があったり、 XtraFinderやTotalFinder等の一部アプリが使えなくなったり、 と影響が結構大きいEl Capitanの新しいSIPというセキュリティシステムですが、 ちょっと色々いじりながら調べたことなどのまとめ。 System Integrity Protection (SIP) 保護されているファイルやディレクトリ SIPの無効化 SIPの無効化に関してNVRAM云々 /usr/local/binが勝手にroot所有になる System Integrity Protection (SIP) System Integrity Protection

    OS X 10.11 El CapitanのSystem Integrity Protection(SIP) (rootless)についてちょっと詳しく
  • Bash/Zshで'source'するファイルの中でで自分のパスを取得する

    B! 23 0 0 0 BashやZshのsourceして使う様な設定ファイルの中で そのファイル自身のパスを取得したいと言う話。 やりたいこと BASH_SOURCE Zshでは Bash/Zsh両用 やりたいこと 例えば~/v1.0.0、~/v2.0.0…みたいに何らかのプログラムとか プロジェクトをバージョン毎に管理してたりするとき、 その中にsetup.shみたいなのを置いておいて、そのファイルの中で、 export PATH=~/v1.0.0/bin:$PATH export LD_LIBRARY_PATH=~/v1.0.0/lib:$LD_LIBRARY_PATH みたいな設定をしたいとします。 この様に直接PATHを書いてしまうと、新しいバージョンになった時に この設定ファイル自体も書き換えが必要です。 また、違う環境に持っていった時にPATHが変わってしまう可能性があります

    Bash/Zshで'source'するファイルの中でで自分のパスを取得する
  • spark: シェルスクリプトで棒グラフ表示

    B! 251 0 0 0 GitHubで面白そうなシェルスクリプトを探してる時に見つけた Spark by holman について。 数値を棒グラフ上に表示してくれるスクリプトです。 Spark 使用例 Spark Spark は数値群を引数に与えるか標準入力で与えてあげると その数値群を棒グラフに変換してくれるシェルスクリプトです。 インストールはGitHubのレポジトリ から直接sparkというスクリプトファイルを取ってきてPATHの通った所に入れるか、 MacであればHomebrewで $ brew install spark でsparkコマンドが使えるようになります。 使い方は非常にシンプルで $ spark 0 20 40 60 80 100 ▁▂▃▅▆█ こんな感じで数値を与えるとそれを棒グラフにしてくれます。 インプットに使える数字は少数も使えますが、 実際に使われる際には

    spark: シェルスクリプトで棒グラフ表示
  • Markdownからスライド資料を作る

    B! 460 0 1 0 何か人に見せる時には資料としてPower Pointとかでスライドを作るわけですが、 普段メモもMarkdown形式で書いてく事が多くて、 簡単なもの、特に文字だけの物の場合はそのままコピペするだけみたいな ことも多いので、 直接Markdownからスライドを作る物を試してみることに。 Markdownからスライドを作れるツール Pandoc 対応フォーマット インストール PDF作成(beamerテンプレートを使う) beamerのテーマについて 日語について Pandocまとめ Slide Show (S9) インストール スライド用HTML作成 PDFにコンバート その他のツール Marp mkd2pdf markdown-pdf markdown2impress mdslide slidedeck remark Markdown2pdf Swipe Sl

    Markdownからスライド資料を作る
  • tmuxに慣れてみる: tmuxとGNU screenの違いなど

    B! 216 0 1 0 ターミナルマルチプレクサとして GNU Screen を普段使っていますが、 tmux の方が活発に開発されてる様に見えたり 乗り移ってく人も沢山居るみたいなので気になって何度か試してみましたが、 イマイチ違いを吸収出来ずにScreenに戻ってきてました。 無理に移行する理由もそれ程無いですが、また試してみたので 取り敢えず違いなどのメモ。 設定ファイル Prefix (Escape) コマンドモード キー設定一覧 デタッチ/アタッチ キーバインド コピーモード/履歴スクロールバック Session/Layout/Window/Pane split 全Paneに同時入力 swap-paneの問題 Status表示 .bashrcなどでの判断方法 違いが理解できたら 設定ファイル screen tmux ファイル名 ~/.screenrc ~/.tmux.conf

    tmuxに慣れてみる: tmuxとGNU screenの違いなど
  • シェルスクリプトでの$@の罠

    B! 39 0 0 0 シェルスクリプトを書いてる時に$@を使って ハマったのでそれについて。 $@と$* -fや-dの罠 まとめ $@と$* $@はシェルスクリプト 1 ではスクリプトや関数の中で全ての引数を表します。 $ f(){ echo $@;} $ f a b c a b c な感じ。 ここで、次の様なスクリプトを考えてみます。 atmark.sh 1 2 3 4 5 6 #!/usr/bin/env bash if [ "$@" != "" ];then echo "$@" else echo empty fi これを実行してみると $ ./atmark.sh a a $ ./atmark.sh ./atmark.sh: line 2: [: unary operator expected empty! $ ./atmark.sh a b ./atmark.sh: line 2

    シェルスクリプトでの$@の罠
  • 1