タグ

Shellに関するU1and0のブックマーク (88)

  • ターミナルマルチプレクサ tmux をカスタマイズする - Qiita

    前提 ターミナルマルチプレクサとは、 GNU screen tmux などの仮想端末マネージャのことです。 メリット マウスを使わず端末内でコピペできる(スクロールバックで端末画面外に流れてしまった情報にアクセスできる) アタッチ・デタッチ機能で一時停止ができる 画面分割により、一画面でコマンドラインとエディタを表示できる 画面管理もできるので、すべてのウィンドウをタブのように管理できる すべて設定ファイルでカスタマイズできる ことが挙げられます。デメリットとしては、VimEmacs のように初期の導入コストが高いことでしょうか。これらの類はとっつきにくいイメージが有りますが、エディタのそれよりは簡単です。 参考 tmuxのコマンド tmuxを使い始めたので基的な機能の使い方とかを整理してみた こんな感じ これが普段使いの環境です。私の場合ですが、OS X 10.10 で利用し

    ターミナルマルチプレクサ tmux をカスタマイズする - Qiita
  • コマンドライン上でヒストグラム値(頻度数)を求める - Qiita

    こんにちは。 コマンドライン上でヒストグラム値(頻度数)を求めるシェルスクリプト を作りました1。 下記の動作例は history コマンドの第2カラムを対象としています(すなわち過去に使用したコマンド名)。 $ history | awk '{print $2}' | ./hist.sh | ./hist_graph.sh brew 87 ################################################## pip 33 ################### ls 30 ################# : :

    コマンドライン上でヒストグラム値(頻度数)を求める - Qiita
    U1and0
    U1and0 2019/01/19
    “'!max{max=$2;}{f=50/max;if(f>1)f=1;i=$2*f;r="";while(i-->0)r=r"#";printf "%s %s\n",$0,r;}'”
  • Awkワンライナー (最小値、最大値、合計、平均、中央値) - 雨の歌をいつか書く

    簡単な解析はワンライナーでやっちゃおう。ということでまずは簡単に最小値と最大値と平均を求めるAwkワンライナーを書きます。 たとえば以下のようなログファイルがあるとする。僕はいま、3列目の数値に対して統計値を出したいのだ。 0 0 147.086 0 10 141.269 0 20 10000 0 30 2805.22 0 40 152.003 0 50 144.762 0 60 144.926 最大値 cat test.log | awk '{if(m<$3) m=$3} END{print m}' { if(m<$3) m=$3 } END { print m } $3ってのが第3番目の列という意味なので、ここを変えれば別のところも参照可能。BEGINの中で初期値を設定する必要があるのかなと思っていたけど、いきなりif(m>$3)を実際にやってみたら大丈夫だった。 最小値 基的には同

    Awkワンライナー (最小値、最大値、合計、平均、中央値) - 雨の歌をいつか書く
    U1and0
    U1and0 2019/01/07
    awkで中央値
  • shell - 渡し方 - シェルスクリプトに渡された最後の引数の取得

    U1and0
    U1and0 2019/01/04
  • ターミナルで、shell-init: error retrieving current directory: getcwd: cannot access parent directories: というエラーが出た場合の対処 - 楽しいだけで十分です

    コマンドが実行できない!となって焦ったエラーですが、原因は大したことないものでした。 原因 カレントディレクトリが存在しないため、発生しているエラーです。 解決方法 存在していることがわかっている、別のディレクトリに移動すれば解決します。 参考 SSHログインで「shell-init: error retrieving current directory」となるのを調べたら意外に時間がかかったという話 - \ay diary

    ターミナルで、shell-init: error retrieving current directory: getcwd: cannot access parent directories: というエラーが出た場合の対処 - 楽しいだけで十分です
    U1and0
    U1and0 2018/10/15
    “原因 カレントディレクトリが存在しないため、発生しているエラーです。 解決方法 存在していることがわかっている、別のディレクトリに移動すれば解決しま”
  • jq

    jq is a lightweight and flexible command-line JSON processor. jq is like sed for JSON data - you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text. jq is written in portable C, and it has zero runtime dependencies. You can download a single binary, scp it to a far away machine of the same type, and expect

    U1and0
    U1and0 2018/09/15
    jq is like sed for JSON data - you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.
  • bashのキー操作一覧まとめ - 元RX-7乗りの適当な日々

    bashでは、"Ctrl"や"Esc"キーと組み合わせることで様々な操作ができるので、メモ代わりにまとめておきます。 よくやるのが「Ctrl + s」キーを押してしまうと、フリーズしたかのように見えるので一瞬焦ってしまう。そんな時は・・・ Ctrl + b カーソルを左へ1文字移動 (←キーでもOK) Ctrl + f カーソルを右へ1文字移動 (→キーでもOK) Esc + b カーソルを右へ1単語移動 Esc + f カーソルを右へ1単語移動 Ctrl + p historyの1つ前に入力したコマンドを表示 (↑キーでもOK) Ctrl + n historyの1つ後に入力したコマンドを表示 (↓キーでもOK) Ctrl + h カーソルの左1文字を削除 (BackspaceキーでもOK) Ctrl + d カーソルの右1文字を削除 (DeleteキーでもOK) Ctrl + a カー

    bashのキー操作一覧まとめ - 元RX-7乗りの適当な日々
  • lessの一歩踏み込んだ使い方

    B! 44 0 2 0 ターミナルでドキュメントを開く手軽なコマンドのlessですが、 小さなものならcatで良かったり、 サイズがそこまで大きく無ければvim等のエディタで開いてみてしまったりすることが多いです。 というのもlessの機能を余り知らないのでvimなどで見た方が色々と便利だったりするので。 しかしlessも実は結構高機能で便利だったりするので知っていると 使えることも結構あります。 その辺の一歩踏み込んだlessの使い方について。 less オプションのプレセット指定 表示中にオプションを切り替える シンタックスハイライト(source-hilight、ついでにlesspipe.shについて) 途中からエディタで開く 複数のファイルを扱う tail -fの代わりに使う less lessはMark Nudelman氏によって書かれたもので、今は GNU Projectの一つ

    lessの一歩踏み込んだ使い方
    U1and0
    U1and0 2018/05/12
    less +F. :n :p :e
  • Jupyter Notebook の Tips をまとめてみた | AI tech studio

    こんにちは、AI Lab の馬場です。 このブログは CyberAgent Developers Advent Calendar 2016 の11日目の記事です。 昨日は sitotkfm さんの「ログを集める時に気をつけたいポイント」という記事でした。 この記事では、僕が仕事データ分析をやっていく上で大変お世話になっている Jupyter Notebook の Tips をまとめてみます。Jupyter Notebook では便利な機能がたくさんあるので、ちゃんと使うと無駄作業の削減になります。僕もこれまで分析途中で「あーこれができたらなあ」と検索しては時間をつぶしてきたので、ここでまとめて記憶にとどめておきたいと思います。 図表・可視化系 notebook 内に図を表示したい 単純に jupyter notebook を起動して、pyplot などでグラフを描画しようとしても、図は

    Jupyter Notebook の Tips をまとめてみた | AI tech studio
    U1and0
    U1and0 2018/05/04
    Ipython.display module, %config, `ipython hoge.py`とシェルに打ち込めば、マジックコマンドも実行してくれる
  • 関数の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 関数名を指定したブロック内に処理を定義する。 関数名とその関数の処理を定義することで、一連の処理を関数を呼び出すことが可能になる。通常、関数の最後には return コマンドを指定し、その引数として与えた値が関数の終了ステータスとなる。 return コマンドの引数に指定できる値は、0 もしくは 1~255 の正の整数値のみである。マイナスの値も指定可能であるが、-1 を指定した場合は結果的に 255 になる。紛らわしいので、0 もしくは 1~255 の正の整数以外は指定しないようにする。 この return コマンドは省略可能で、省略された場合は関数内で最後に実行されたコマンドの終了ステータスが、関数自体の終了ステータスとなる。 関数を呼び出すときは、関数名と引数のリストを指定する。引数は省略可能である。呼び出すときの関数名は C言語などのように () を付ける必要はない。func(

    関数の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス
    U1and0
    U1and0 2018/05/02
    shell script 関数
  • VISUAL vs. EDITOR – what’s the difference?

    Stack Exchange Network Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. Visit Stack Exchange

    VISUAL vs. EDITOR – what’s the difference?
    U1and0
    U1and0 2018/05/01
    “The EDITOR editor should be able to work without use of "advanced" terminal functionality (like old ed or ex mode of vi). It was used on teletype terminals. A VISUAL editor could be a full screen editor as vi or emacs.”
  • Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita

    コマンドのパスを知りたいんじゃなく、コマンドの存在をチェックしたいだけならwhichよりhashを使ったほうが良いかもっていう話。→追記: typeが最強っぽい。 追記: command -vも良い。プログラムの存在チェックorパスを探したいだけなら互換性を考えると一番良いかも。 比較してみる whichよりhashよりtype=command -vが高速→typeまたはcommand -vの勝ち whichは実ファイルという実体があるプログラムです。hashとtypeはbashの組み込みコマンドです。なので当然ですがプログラムの起動コストがない分hashやtypeの方が速いです。 $ time bash -c 'for((i=0;i<10000;i++));do which perl; done >/dev/null' real 0m7.739s user 0m2.928s sys 0m

    Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita
    U1and0
    U1and0 2018/05/01
    “whichは実ファイルという実体があるプログラムです。hashとtypeはbashの組み込みコマンドです。なので当然ですがプログラムの起動コストがない分hashやtypeの方が速いです。”
  • 何もしない組み込みコマンド ":" (コロン)の使い道

    Bash でシェルスクリプトを勉強していくと出会うのが : (コロン)という名前の組み込みコマンド。このコマンドは何もしないコマンドです。 こんなコマンドの存在は不思議だなと思う反面、C言語にも void という型があったり(関数のような形で存在するのは JavaScript とかですね)、LaTeX にも \relax があったり、何もしない命令というものは機械語の NOP からある普通のものです。 この Bash の : の使い道についてまとめてみました。 何か書かなければならないところに仮置きする 例えば「ここに制御構造を置くんだけど、この節に入るものは後で書くんだけどな〜」といった場合、制御構造の節の中に何も書かないと Bash は構文エラーとなります。 #!/bin/bash arg="$1" if [ -z "$arg" ] ; then echo "デフォルトモード開始" e

    何もしない組み込みコマンド ":" (コロン)の使い道
    U1and0
    U1and0 2018/04/30
    “${parameter:-word} $parameter が未定義か空の場合、word を展開 $parameter or "word"”
  • GNU Coreutils: 16.1 false: 何もせず、実行失敗のステータスを返す

    U1and0
    U1and0 2018/04/30
    “false は、実行に失敗したこと (failure) を示す終了ステータス 1 を返す以外、何もしない。 ”
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

    ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、何もせずに終了ステータス0(つまり正常終了)を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト元/先と

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
    U1and0
    U1and0 2018/04/29
    # $foo が $bar より大きければ 0 、そうでなければ 1 を $baz に代入する。 [ $foo -ge $bar ] && baz=0 || baz=1
  • 便利だが理解を要する制御演算子 `&&` と `||` - Qiita

    シェルでの便利な記法に && と || があります。 例えば commandA && commandB は、commandA の終了コードが true のときにだけ commandB が実行されます。 しかし、 commandA && commandB || echo 'Error' >&2 のように3つ以上繋げるときには注意が必要です。 結論 && や || の動作は、直前に実際に評価されたコードで決まります。 ありうる誤解 && || は、 if then else ではありません。 commandA && commandB || commandC と、 if commandA then commandB else commandC fi はまったく異なるコードです。 なぜならば、commandAが true で commandB が false のときも、 commandC が実行さ

    便利だが理解を要する制御演算子 `&&` と `||` - Qiita
    U1and0
    U1and0 2018/04/29
    $ false && true || echo 'Error' >&2 Error となります。 1つめが false なので、 && で繋がった2つめは実行されず、その後の || は(直前に実際に評価されたのが1つめの false であるために)満たされ、'Error' が表示されます。
  • Supercharge Vim with Fzf and Ripgrep

    Looking for something a little more light weight than Ctrlp or Unite or just wanting to refresh your existing fzf setup, well then this guide is for you. For those of you that don’t know fzf is a command line fuzzy finder, it is insanely fast and super easy to extend. ripgrep is a new tool similar to ack and ag but even faster and ships with some really useful additional parameters out of the box.

    Supercharge Vim with Fzf and Ripgrep
    U1and0
    U1and0 2018/04/28
    export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"'
  • GitHub - clvv/fasd: Command-line productivity booster, offers quick access to files and directories, inspired by autojump, z and v.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - clvv/fasd: Command-line productivity booster, offers quick access to files and directories, inspired by autojump, z and v.
  • Fasdコマンドで最近使ったファイルとディレクトリに素早くアクセス - もた日記

    github.com Fasd(発音はfastに似ているということなので、ファースド?ファスド?)は作者の説明によるとautojumpやzのようなコマンドラインの生産性を上げるツールで、よく使うファイルとディレクトリに素早くアクセスできるようになる。 Fasdはアクセスしたファイルとディレクトリの情報を記録しておき"frecency"というランク付けをする。"frecency"は"frequency"と"recency"を併せた造語で、頻繁かつ最近アクセスしたものほど高ランクになるらしい。 インストール Fasdコマンドのインストール方法は下記ページに書かれている。 Installing via Package Managers · clvv/fasd Wiki · GitHub CentOSの場合はRPMパッケージをインストール。 $ sudo rpm -ivh https://buil

    Fasdコマンドで最近使ったファイルとディレクトリに素早くアクセス - もた日記
    U1and0
    U1and0 2018/04/26
    fasd zとかのジャンプツール
  • Grep in Microsoft Word?

    U1and0
    U1and0 2018/03/26
    mswordの中身をshellから見たいLinuxユーザーは多く、antidocやcatdocといったコマンドでmswordファイルを標準出力にだすことができる