【bash 超便利コマンド】『esc + .(ドット)』直前の引数を再利用しよう
bash 補完コマンド直前に実行したコマンドの引数を再利用することができる『esc + .(ドット)』意外と知らないけど、知っていると超便利な補完コマンド例えばhoge └ fuga.txt ls hoge/fuga.txtcat← ここで【esc+.(ドット)】すると、このように補完されますcat hoge/fuga.txt🐘どんな時に使うのって話tail -f...
View Article最速でgit add -uとコメント付きcommitする
ファイルをステージングにaddしてコミットするのが面倒だ。とくに git commit -m"message"のダブルクオーテーションを入力するときにタイピング速度が落ちるのが嫌だった。なので、shellで対話モードで開いてくれて入力待ちしてくれるスクリプトを作った。gcimコマンドの中身#! /bin/bashecho"add update file to staging"echo Write...
View ArticleMacでバッチファイルを作成🐱
はじめに今私はデータサイエンス100本ノックをやっています!この100本ノックでは学習をする環境を構築できるDockerが用意されているのでとっても簡単に始められます!😊 pandasでデータやDataFrameを扱うのに慣れたい!という方にとってもおすすめです!バッチファイルとはバッチファイルとは、実行できるコマンド列を記述したテキストファイルのことです。...
View Article画像や動画ファイルの縦横サイズをリストするシェルスクリプト
ディレクトリの下に、縦横サイズが様々な画像や動画ファイルがあって、その中から特定の縦横サイズの画像や動画を探したい時に、これまでFolder...
View ArticleJavaScriptのfetch()にcgiで返すときは改行コードを取ろう
概要Javascriptでfetch()からサーバに問い合わせした時に、文字列を返すとします。その文字列を読み込んだのに条件判定に失敗しました。わかってしまえば簡単なこと。文字列に改行コードが入っていたのでした。コードcgiで何かの処理とか条件判定した時に文字列をJavaScript/fetch()に返すとき、JavaScriptでは例えばこんな問い合わせをサーバにするとします。...fetch('...
View Articleエイリアスの作成(引数が複数ある場合)【BashとPowerShellの比較】
BashとPowerShellのコマンド対応表に戻るBashコマンド形式$ alias エイリアス名="コマンド名 引数1 引数2 ... 引数N"使用例例として、tmuxに関するエイリアスを記載してみたいと思います。# エイリアス「ton」を作成$ alias ton='tmux set-window-option synchronize-panes on'# エイリアス「toff」を作成$...
View Articlecronの起動時刻をランダムに書き替えるワンライナー
小ネタである。前提知識bashでは、環境変数$RANDOMを用いることで、0~32767 の数字をランダムに得ることができる。例えば、0~3 の数字をランダムに表示するには、剰余記号%を組み合わせて次のようにする。0~3の数字をランダムに表示echo$((RANDOM %4))5~59 の数字ならこうだ。5~59の数字をランダムに表示echo$((5+ RANDOM...
View ArticleVPN, Proxy, MITM環境で消耗している場合のbash/zsh設定
また、コロナ感染者が再び増えてきましたね。リモートワークはさらにデフォルトな働き方になりそうですね。昨今ゼロトラストネットワークなどと言われていますが、VPN渋滞などという言葉もあるように、リモートワーク時にはVPNを利用し従来の社内システムを利用するなんて会社は多いかと思います。参考:ゼロトラストネットワークとは何者なのか想定環境VPNを利用すると完全に社内ネットワークに繋がったことになり、そこか...
View Articleシェルスクリプト覚え書き
今日の日付を取得書式指定ができる(以下の場合は8桁)date + %Y%m%d forループでループする数字の桁を揃える3桁に揃えたい場合。sample.shfor i in`seq-f %03g 1 100`do hogehoge done複数行のechoいちいちテキストファイルに出力しなくてもいいんです。sample.sh{echo 0 1 echo 0 4 }とすると0 1 0 4...
View ArticlebashでYouTubeライブのコメント(チャットのリプレイ)を取得する
事前の準備ライブ配信アーカイブの/live_chat_replay?continuation=XXX XXX部分の値を取得するScript#/bin/bashNEXT_URL=${1}readonly API='https://www.youtube.com/live_chat_replay?continuation='readonly UA='User-Agent: Mozilla/5.0...
View Articlekill process for memory leak
toprails batchget process info that maybe leaked memorypinfo=`ps aux --sort-rss| grep[r]uby | head-1 | tr-s' ' | cut-d' '-f2,6`echo$pinfocompare and graceful killpid=`echo-n$pinfo | cut-d' '-f...
View Articleターミナルでコマンドの標準出力/標準エラー出力をそれぞれ複数ファイルにリダイレクトするfanout.sh
動機あんまり機会/需要はないと思うが、あるコマンドの出力を複数のディレクトリに置きたくなることがあった。基本的には、teeコマンドを使えばいいのだが、標準出力/標準エラー出力を分けたり、さらなる別コマンドにパイプできるようにfanout.shとしてスクリプト化した。別記事にあるように、sourceしても使えるように実装した。ファイル置き場githubgitlab基本的な使い方ヘルプ表示%...
View ArticleIBMCloudFunctions で File Storage 使用率の定期自動監視の実装
実現したいこと:・IBM Cloud File Storage 使用率の定期監視を自動で行いたい! (GUI コンソール・ログインすれば確認できますが、自動で通知したい)そのためには....1) 使用率を計算するスクリプトを作成参照: IBM Cloud の File Storage 使用率を確認するスクリプト2) 作成した bash スクリプトを Functions の Action...
View Articlebashでcsvを簡単に1行ずつ処理する
経緯仕事でよくbashを使うのだが、csvを整形して1行ずつ取り出し、sql作って投げる必要が出てきた。久しぶりだったので、「そういえばいつもやってる方法で1行ずつ処理なんて出来るんだっけ?」と不安になり、検証しながらググってみたら意外に私のやり方でやってる人が少ないっぽいので此処に記すwhileとreadlineとか使っている人が多いようだが、慣れてないからか覚えられない&可読性低いと感じてしまう...
View Articleシェルである文字列を含む行を削除したい
sedコマンドを使うと可能です。sed '/abc/d' test.txt > new.txtこれでabcを含む行を削除し、new.txtに保存します。参考 https://blog.enjoitech.com/article/71
View Articleシェルスクリプト用のベンチマークツールを作りました
はじめにシェルスクリプトで実装したコードの実行速度の比較を行いたかったのですが手ごろなツールが見つからなかったので、シェルスクリプト用のベンチマークツールとして「ShellBench」を作りました。POSIX シェル準拠で作っているので bash...
View Articleシェルの変更方法
Linuxで新しくユーザ作成した時なんかに「あ!シェル変わってるじゃん」ということがあります。下記手順はそんな場面を想定。まずは現在のシェルを確認。$ echo $SHELL /bin/sh あ、やっぱりshに変わってる!現環境で使用可能なシェルを確認。$ cat /etc/shells /bin/sh /bin/bash /bin/rbash /bin/dash /bin/zsh...
View ArticleUSD(米ドル)からJPY(日本円)に変換するシェル
なんで作ったんhttps://mwm-store.com/product/phase-essentialを欲しいなーと思ったがドルが安いときに書いたいなーと思い立ったら良きAPIを見つけた方がいたので。無料で使える為替取得APIメモ - Qiitaソースhttps://github.com/tknr/price_usd_to_jpy使い方bash price_usd_to_jpy.sh...
View Articlebash scriptでCOLUMNSという名前の変数を使ってはいけない
COLUMNS変数はbashの予約変数なので、意図しないタイミングで変更されてスクリプト実行が失敗する可能性がある。以下のスクリプトを実行すると、mkdirの後でCOLUMNS変数が上書きされているのがわかる。#!/bin/bashCOLUMNS="a,b,c"echo${COLUMNS}mkdir-p /tmp/t echo${COLUMNS}$ bash test.sh a,b,c 204...
View Article