(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

IT技術-UNIX-Linux

【Linux】数値データのパーセントタイルで値を切り出すスクリプト

はじめに Excelなどの表計算ソフトではデフォルトで入っているpercentileをLinuxで利用すべくスクリプトにしました。 方針としては数値データにて並び替えた上で行数を取得し、headとtailで切り出しています。 環境情報 Debian GNU/Linux 9 スクリプト 数値…

【Linux】bcコマンドで小数点を含んだ掛け算割り算を行う

やりたいこと 以下のような小数点を含んだ数値の四則演算を行いたい。 $ echo $((3*6*5.1)) -bash: 3*6*5.1: syntax error: invalid arithmetic operator (error token is ".1") 環境情報 Debian GNU/Linux 9 やり方 bcコマンドをインストールすれば # apt-g…

【Linux】任意の時刻フォーマットから時間の範囲で行を切り出す方法

はじめに 時刻データが保持されている行(例えば$1)を指定することで以下ワンライナーで値が切り出せるとのことですが $ awk -F - '"開始時間" < $1 && $1 <= "終了時間"' /var/log/secureワンライナーでなくても柔軟に値を抜き出したいことがあります。本…

【Linux】awkで先頭行と末尾の行を指定してその間を表示するワンライナー

やりたいこと 以下のようなテキストファイルがあった場合に $ cat test.txt H e l l o W o r l d4行目~7行目の以下部分だけを表示したい。 l o W o| コマンド実行状況 $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)"$ awk --version …

【Linux】カレンダーから任意の曜日の日付を取得するワンライナー

はじめに 以下記事ではUNIX系OSにて一連の日付を「yyyymmdd」形式で出力するワンライナーを解説しました。 本記事ではそこに条件を加えて第二土曜日(カレンダーにおいてその月の2回目の土曜日)を取得するワンライナーを説明します。 コマンド実行状況 $ c…

【Linux】lessコマンドを用いて出力結果を折り返さずに表示する

やりたいこと 以下のように画面で折り返される標準出力を $ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE hoge0/xxxxxxxxxx hoge0/xxxxxxxxxx testuser@hoge.com/yyyyyyy yyyyyyy default hoge1/xxxxxxxxxx hoge1/xxxxxxxxxx testu…

【RHEL】サブスクリプションをアタッチする手順

やりたいこと プロダクトをインストールするため、subscription-managerを使用してRHELサーバにサブスクリプション情報を登録する。今回はRed Hat OpenShiftをアタッチします。 環境情報 Red Hat Enterprise Linux Server VERSION="7.8 (Maipo)" 手順 以下コ…

【Linux】tmpfsを指定したRAMディスクの作成/削除手順

はじめに データをディスクではなくメモリ上に配置することで高速な読み込みを可能にする「RAMディスク」をRHEL環境で作成及び削除する手順を説明します。 環境情報 Red Hat EnterPrise Linux Server 7.6 メモリ容量の事前確認 同環境では meminfoにてー全体…

【Linux】ip routeで表示されるdev,via,src,protoの意味と見方

はじめに ip routeコマンドでよく見るタイトルの文言の意味とその見方を簡単に解説します。 尚、詳細が知りたければman ip routeでも確認可能です。 環境情報 Red Hat Enter Prise Linux Server 7.6 IP-ROUTE(8) dev/via/src/protoの意味 devはパケットを流…

【Linux】viで保存時にE382: 'buftype'でエラーになる事象

事象 Linux環境で.vbaという拡張子のファイルを:wqで保存するも E382: 'buftype' オプションが設定されているので書込めませんというエラーで保存できない。画面キャプチャ 環境情報 $ bash --version GNU bash, バージョン 4.4.12(3)-release (x86_64-unkno…

【Linux】URLの画像をHTMLの画像として整形するワンライナー

やりたいこと 以下のような画像のアドレスを https://p16-tiktokcdn-com.akamaized.net/aweme/100x100/tiktok-obj/1649076225015810.jpeg https://p16-tiktokcdn-com.akamaized.net/aweme/100x100/tiktok-obj/8c576aa8234c07747a75421be6bf0f1c.jpeg https:/…

【curlコマンド】hostsファイルに追記せずにホスト名で動作確認する

やりたいこと Ingressのようなホスト名で待ち受けているサービスに対してcurlコマンドで動作検証をしたい。 ただし/etc/hostsへの書き込み権限はないとする。 環境情報 $ curl --version curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL やり方 -Hオプションで…

【Linux】業務用シェルでよく使う記法メモ

はじめに 個人利用であれば動けばいいですが、業務利用の場合はログ取りや権限チェックといった機構をコーディングルールに従って入れる必要があります。本記事ではそのような記法を逐次まとめていきます。 はじめに シェルを実行する前のチェック ログファ…

【Linux】jqコマンドで複数項目を取得する構文

はじめに JSON形式のファイルから値を取り出すjqコマンドは以下にて紹介しています。 その応用として複数の項目を取り出す際のjqコマンドの使い方について解説します。 環境情報 Debian GNU/Linux 9 (stretch) jq-1.5 jqコマンドの基本的な使い方 例えば以下…

【Linux/Debian】sysstatで取得したデータをsarコマンドで表示する流れ

はじめに サーバのパフォーマンス情報を取得するツールに「sysstat」があります。 これを動かしていれば自動で/var/log/sysstat/にログファイルが溜まっていき、必要に応じてsarコマンドでテキスト化すればkSarで可視化することもできます。本記事ではDebian…

【Linux/Debian】sarコマンドでディスクIO情報を出す際の注意点

はじめに サーバのパフォーマンス情報を取得するツールに「sysstat」を用いてログを可視化する流れは以下記事で紹介しました。 ただ、ディスクIOの情報を出す際には-pオプションの有無で出力結果に変化があるので注意が必要です。 本記事ではsaファイルをsar…

【Linux】東証が取引日なのか休みだったのかを判定するスクリプト

はじめに その日に東京証券取引所で取引があるのか否かではなく、その日に取引があったのかどうかを15時以降に確認するスクリプトを作成しました。 使用例はピンポイントですが、例えば指定した株の終値を自動収集するスクリプトを動かすか否かの判定などに…

【Linux】10進数のIPアドレスを2進数で表示するスクリプト

はじめに IPアドレスを見てどのサブネットに入っているかを確認したい際によく頭の中で二進数にしていたのですが、簡単そうだったので引数に10進数のIPアドレスを入力すれば2進数にして返すスクリプトを作成しました。 環境情報 GNU bash, バージョン 4.4.12…

【Linux】tarコマンドでtarファイルを展開するも反応がない事象

事象 以下コマンドのようにtarファイルの展開を試みるも $ tar xvf hoge.tar標準出力に何も結果が返ってこずtarファイルも展開されない。 環境情報 Red Hat Enterprise Linux Server 7.5 tar (GNU tar) 1.26 原因 tarファイルが破損している。正常なtarファ…

【Linux】SSHログイン失敗でrootユーザがロックされた際の挙動

はじめに Red Hat Enterprise Linux Serverにてrootユーザのパスワードを連続で間違えたことによるロックが起こりました。 せっかくなのでその際の挙動をメモしておきます。 コマンド実行環境 Red Hat Enterprise Linux Server 7.5 (Maipo) 前提 アカウント…

【Linux】kSarを利用時に文字化けでエラーとなる

事象 性能情報を取得結果であるsarファイルを可視化するツール、kSarにてsarを読み込んだ際に以下のように文字化けでエラーとなる。 unable to parse time 18譎?46蛻?01遘? 環境情報 kSar7 (alpha) RedHatEnterpriseLinux 7.8 Windows 10 (Cygwin) 原因/解決…

【Linux】cutコマンドで2文字以上の区切り文字を使いたい

格言 cutコマンドを使う人が欲しいのは区切り文字で挟まれた値である 環境情報 # cut --version cut (GNU coreutils) 8.26 結論 awkを用いて実現させます例えば<>が区切り文字であったとすると以下のように指定した文字列を取得できます。 $ # echo "123<>abc…

【Unicode順】数字英字カタカナひらがな漢字の順にsortする

やりたいこと UNIX環境にて以下のような文字列のファイルを $ cat testmoji.txt Apple りんご イチゴ 15 メロン 葡萄 いちじく BananaUnicode順(数字→英字→片仮名→平仮名→漢字)に並べ替える。 環境情報 $ sort --version sort (GNU coreutils) 8.26 $ echo…

【RHEL/VMware】rootパスワードを忘れた場合の再設定方法

やりたいこと vCenter配下の仮想マシンであるRedHatEnterpriseLinuxServerのrootパスワードを再設定したい。 環境情報 RedHatEnterPriseLinuxServer 7.5 vSphere Web Client バージョン6 やり方 vCenterから仮想マシンの再起動を行い、ブート管理システムで…

【Bash】sudo echoでファイルに書き込むとPermission deniedになる事象

事象 書き込み権限がないディレクトリに対して $ ls -ld /etc/apt/sources.list.d/ drwxr-xr-x 2 root root ... /etc/apt/sources.list.d/以下のようにファイルを追記しようとすると以下のエラーとなる。 $ sudo echo "deb https://apt.kubernetes.io/ kuber…

【Bash】複数行で一塊のデータを一行毎にまとめる

やりたいこと 以下のように3行で一まとまりの繰り返しデータを 3788 GMOクラウド(株) 6720 3665 (株)エニグモ 1027 3769 GMOペイメントゲートウェイ(株) 11450 ...以下のように一行で表示したい。 3788,GMOクラウド(株),6720 3665,(株)エニグモ,10…

【入門】コンテナ環境でnmapコマンドにてポートスキャンを実施する

はじめに 標的ホストに対して開いているポートを探索する手法をポートスキャンと言い、標的のIPアドレスが分かればnmapコマンド等を利用することで実行できます。 ただし、セキュリティの穴を見つけることにもなるので他人の管轄するサーバに同コマンドを押…

【Bash】特定の文字列が含まれているか否かで条件分岐する

やりたいこと Linux機にて変数hogeの文字列に「@」マークが入っていればifの条件分岐に記載されている処理を行いたい。 環境情報 # bash --version GNU bash, version 4.4.12(1)-release (x86_64-pc-linux-gnu) やり方 #!/bin/bash echo $hoge > hoge.txt if…

【Bash】curl: (3) Illegal characters found in URLというエラーの解消法

事象 引数にて渡すURLを利用したcurlコマンドにて以下Error。 curl: (3) Illegal characters found in URL 環境情報 $ bash --version GNU bash, バージョン 4.4.12(3)-release (x86_64-unknown-cygwin) $ curl --version curl 7.55.1 (Windows) libcurl/7.5…

【Bash】文字列内の括弧で挟まれた箇所を削除する

やりたいこと 以下の文字列をbashを利用して ABC(DEF)G(H)以下としたい。 ABCG 環境情報 $ bash --version GNU bash, バージョン 4.4.12(3)-release (x86_64-unknown-cygwin) やり方 Linux系OSにて以下コマンドを実行すれば指定した括弧で囲まれた文字列が省…


他の記事を読む