Diary

Diary

日々学んだことをアウトプットする場として初めてみました

Linux

ワンライナーでid のかぶりがないかチェック

ワンライナーでid のかぶりがないかチェック id というのはユニークである必要がありますが、自分で命名してると下手し被ってしまうことがあると思います。 そこで今回は、HTML をユースケースとして、id に被りがないかをチェックするワンライナーを書いて…

どうしても python をワンライナーで使いたい

ここでいうワンライナーとは、 python ファイルを作ることなく、ターミナルの上でちゃちゃっと python のいいところを使っちゃおうよ って話です。 -c コマンド 使い方 Tips 引数の渡し方 for 文について おわりに -c コマンド どうやら調べてみると、-c オ…

strace コマンドでシステムコールをトレースする

straceコマンドが使えるようになると、システムコールをトレースすることが可能になり、低レイヤーにおけるプログラムのデバッグに大変役に立ちます。 用語説明 システムコール トレース strace インストール strace とは strace の使い方 use-case strace …

awk で四捨五入を行う

AWK は非常に強力な言語なのですが、残念なことに標準の関数として四捨五入を行うことができません。 そこで今回、任意の桁に対して四捨五入を行う方法をメモしておこうと思います。 小数点以下で四捨五入する 任意の桁で四捨五入する おわりに 小数点以下で…

ワンライナーで九九の表を生成する

「ワンライナーで九九の表を生成する」というシェル芸の問題は、多くの解法が存在し非常にいい問題なのではないかと感じました。 そこで、自分が今思いつく答えをいくつかメモしておこうと思います(今回は細かいコマンドの使い方は紹介しておりません) ぜ…

awk で for 文を書く

ワンライナーで awk 内で for 文を回したくなることが多々あるのですが、いつも方法を忘れるのでこれを機にまとめておきたいと思います。 基本的な使い方 各行の和を求める (おまけ)九九表を作る おわりに 基本的な使い方 基本は、 for( i=<start>; i<=<end>; <increment> ){ acti</increment></end></start>…

awk で小数点以下を含む計算するときの注意

awk で小数点以下を含む計算するときの注意 少数を含む計算の注意点 小数点以下が有限の桁で記述できないような少数は、ある程度の桁数で近似を行うしかないため、以下のような(一見)不思議な現象が起きます。 $ awk 'BEGIN {print int(70.21 * 100)}' 702…

awk で uniq を実行する

awk の連想配列の機能を使って、(シンプルな)uniqコマンドと同様の機能を実装できることが分かったので紹介したいと思います。 uniq コマンドとは awk による uniq の実装 連想配列? 使い方 おわりに uniq コマンドとは awk の前にまず、uniqコマンドの復…

Terminal からプロセスを終了させる

今回はkillコマンドを用いてシグナルを飛ばし、プロセスを終了させてみようと思います。 kill コマンド signal とは kill のシグナル一覧 使い方 基本パターン 1回止めて一定時間後に再開する 覚えた方が良いシグナル KILL コマンドは最終手段 実は普段から…

ターミナルを使って、特定のファイルを見つける

ファイル検索をする方法として、今回はlocateとfindのコマンドを整理しておきます。 ファイル名はわかっている時はlocate、更新日時やサイズなどで詳細な検索をかけたいときはfind、と使い分けたらいいのかなと思っています。 locate 使い方 find オプション…

awk 入門

awk 入門 awk の使い方を簡単に紹介し、「awk 何それ?」っていう状態から「awk 使ったことあるよ」っていう状態になることを目指します。 awk 入門 awk オプション 基本パターン 各フィールドへのアクセス方法 pattern の記述方法 特殊な pattern 省略形 変…

POSIX 組み込みシェル変数まとめ

POSIX 組み込みシェル変数まとめ POSIX 組み込みシェル変数まとめ 一覧紹介 (すこし)詳細説明 $ ? PIPESTATUS 0 ! ENV PATH PPID PS1, PS2, PS4 おわりに 一覧紹介 以下のまとめの中から興味あるものが見つかったら、是非説明の方も見て試していただきたい…

コマンドで xxx の部分にランダムな数字を埋め込む

コマンドで xxx の部分にランダムな数字を埋め込む 前回の記事で、rigコマンドを用いて擬似個人情報を出力する方法を紹介した。 blog.hatena.ne.jp $ rig Edgar Durham 342 Stonehedge Blvd Yonkers, NY 10701 (914) xxx-xxxx 目標 最後の電話番号のところが…

Linux で擬似的な個人情報を得る

Linux で擬似的な個人情報を得る 今回はターミナル上で実行できるコマンドrigを使って個人情報を出力する方法を紹介します 目次 Linux で擬似的な個人情報を得る 実行環境 rig オプション紹介 データセットを作る (おまけ)データフォルダを覗いてみる おわ…

おもしろUnixコマンド

おもしろUnixコマンド 今回紹介したいおもしろUnixコマンドは次の3つです banner sl curl parrot.live 環境 なお以降の例は次の環境で試したものです $ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.2 LTS (Focal Fossa)" ... $ uname -r 5.4.0-1038-…

ターミナル上での情報の見つけ方

ターミナル上での情報の見つけ方 ターミナル上で操作をしていて、「同じコマンドを何回もブラウザで検索している人」や「詰まった際に毎回ブラウザで検索しないと解決できない人」には参考になるかもしれません。 誰のためのものか ある程度基本的なコマンド…

シェルコマンド「man」の使い方

シェルコマンド「man」の使い方 自分がターミナルに触れる機会が増えるにつき、manコマンドが便利だと思いましたのでその紹介をしたいと思います。 使い方がうる覚えなコマンドをターミナル上でぱぱっと検索したい時に使っています。 シェルコマンド「man」…

FizzBuzz at ターミナル(ワンライナー)!

FizzBuzz at ターミナル! FizzBuzzをワンライナーでやってみる FizzBuzz at ターミナル! FizzBuzzとは? まず1から100までの数字を連続で出力する 5の倍数の処理 3の倍数の処理 15の倍数のところの説明 おわりに FizzBuzzとは? Wikipediaに説明は任せ…

linuxのコマンドでsortしてみる

linuxのコマンドでsortしてみる 主にsortコマンドの使い方となっています linuxのコマンドでsortしてみる 設定 ソートに使うkeyを選択する 数字としての大きさでソート 逆順でソート 設定 以下のような内容の記述されたファイルをソートしてみます(ちなみに…

xargs内でのコマンドの挙動について

xargs内でのコマンドについて xargsを使った際に想像と違う挙動を示したのでメモしておく xargs内でのコマンドについて 環境 現象 解決策 原因 補足 whichとtype 解決策2 環境 Ubuntu-20.04 BASH_VERSION-5.0.17 現象 echoでユニコード文字列を変換させて表…

ワンライナーで簡単なグラフ写真を生成する

ワンライナーで簡単なグラフ写真を生成する 以下の2つの流れで実行した bcコマンドを用いた計算 gnuplotにつなげて、画像ファイルとして保存 結論のコマンドと、その時のグラフ 以下はxlogxの計算を行なっている("{} * l({})" の部分) xlogxが0に収束する…

ターミナル上で数値の16進数の変換を行う

ターミナル上で数値の16進数の変換を行う bc コマンド, obase カラーコードを、(255,255,255) -> #FFFFFF への変換を行う bc コマンド 基本的な計算をしてくれるコマンド $ echo '4*5' | bc > 20 桁数指定 デフォルトでは小数点以下切り捨てになるので、scal…

curlによるHTTP/3通信

curlによるHTTP/3通信 やったこと SSLのインストール(http3は標準でsslを使用) curlビルド時にSSLを紐付ける 現状確認 現在のMacに入っているVersionを確認する $ curl -V > curl 7.68.0 (x86_64-apple-darwin13.4.0) libcurl/7.68.0 OpenSSL/1.1.1d zlib/…

文字コードをターミナルで調べる

文字コードをターミナルで調べる fileコマンド od, xddコマンドなどを使用する ファイルがどの文字コードを使用してるかを調べる $ file hoge hoge: ASCII text $ file a a: UTF-8 Unicode text od 文字列を16進数へと変換してくれる $ od -tx1 FILENAME 0…

文字コードど入門

文字コード入門 文字コードについて全くの初心者が、少し調べたのでまとめてみた。 調べる前の自分の知識 ASCIIってのは文字関係のなんかでしょ Unicode,utf-8って文字関係の... で、どう違うん??? 文字をコンピュータが扱う 文字だけに限らないが、コン…

zshrcやzshprofileとその違い

zshrcやzshprofileとその違い どちらもzshの設定ファイルであるが、呼び出される順番や使用シェルによって呼び出されるかどうかが若干違う 設定ファイル一覧 システム全体用 ユーザーごと 共通 ①/etc/zshenv ②~/.zshenv ログインシェルの場合 ③/etc/zprofile…

ワンライナーで電話番号チェック

電話番号かどうかを判定して、それをハイフン区切りで表示したい! 結果が知りたい人 やりたいことを分割する 桁数がちょうど11桁(携帯電話)かどうかチェック 使われている文字が全て数字かどうかチェック 3-4-4文字に区切って、ハイフンつなぎにする 桁…

git: add+commit+pushを1つのコマンドで行う方法

git: add+commit+pushのaliasを作った 個人利用でGitを使うにあたって、毎回 git add -A git commit -m 'comment' git push などとやっていたのだが、いい加減めんどくさくなったのでその対策をした。 シェルスクリプトに書こうかと思ったが、.gitのあるペー…

trコマンドで文字数の異なる場合の挙動

置換コマンド編 tr tr a bでaをbに置換する echo pien | tr ie ao > paon a,b の文字数が異なる場合 echo あほう | tr 'あほ' 'い' > いいう echo あほう | tr 'あほ' 'いおま' > いおま echo pien | tr 'i' 'ao' > paen どうやら一文字目(a)の指定文字数…

一様分布から正規分布を作る - 中心極限定理

適当な数の一様分布の平均を取ることで、その分布がガウス分布に従うことを調べました。 ターミナル上で数字遊びをする練習と思ってみていただけたら幸いです。 ガウス分布に従う数を生成 0-1のランダムな数を生成 ランダムな(無限につづく)数字の並びを生…