(O+P)ut

アウトプット



(O+P)ut

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

UNIX

【Linux】numutilsでワンライナーを省力化する

Debian GNU/Linux 9にてスクリプトやコマンドを利用して数値演算をすることがありますが、例えば数値列の合計値を算出する場合は以下で可能です。 $ seq 1 5 1 2 3 4 5 $ seq 1 5 | awk '{a+=$1} END{print a;}' 15しかし、数値を合計するという処理に特化し…

【Bash】Linuxで各行に指定の単語がいくつかあるのかをカウント

やりたいこと 以下のようなCSVファイル(abc.csv)がありそれぞれの行の特定文字列(カンマ数)をカウントしたい。 a,b,c d,e f,g,h,i j,k, つまり上の場合は以下のように出力したい。 2 1 3 2 環境情報 $ bash --version GNU bash, version 4.4.12(1)-relea…

【Linux】Cygwinでls -lのファイル名のみを取得する

ワンライナー $ ls -l | grep -v "合計" |awk '{print $NF}' | 環境情報 Cygwin上で利用しました。 $ ls --version ls (GNU coreutils) 8.26 パッケージ作成者: Cygwin (8.26-2) Copyright (C) 2016 Free Software Foundation, Inc. ライセンス GPLv3+: GNU …

【Linux】中身は同じでファイル名のみ異なる連番ファイルを作成する手順

やりたいこと 以下のような3ファイルがあった際に $ tree . ├── abc.txt ├── def.txt └── hij.txt以下のようなファイルを作成したい . ├── abc.txt ├── abc_2.txt ├── def.txt ├── def_2.txt ├── hij.txt └── hij_2.txt やり方 以下のワンライナーで実現可…

【便利コマンド】systemctl list-dependencies

使い方 ユニットの依存関係を表示するコマンドにsystemctl list-dependenciesがあります。 しかも依存関係だけでなく、そのユニットの状態を色で確認することができます。実際にコマンド実行結果は以下です。 緑、灰色、赤色が確認できます。色でstatusが分…

【Linux】CPU負荷率を上げるyesコマンド

やりたいこと CPUの閾値監視メッセージの確認のため、Linux機においてCPU負荷率を明示的に上げたい。 使えるコマンド yesコマンドを用いて $ which yes /usr/bin/yes以下のように/dev/nullに出力する。 $ yes > /dev/null &以下、補足です。 補足 ‘yes’: Pri…

【AIX】ログイン時に読まれる環境変数設定ファイル一覧

AIX機にユーザーがログインすると環境変数が読み込まれますが、それぞれ以下が設定ファイルです。 /etc/environment /etc/profile ~/.profile ~/.env これらはSystem startup filesと括られますが、それぞれの特徴を説明しました。 /etc/environment /etc/pr…

【Linux】半角の英数字以外の文字列のみを表示する

はじめに とあるテキストにて全角文字(日本語)のみを出力したくて利用したワンライナーを紹介します。 半角英数以外を表示するワンライナー $ cat hoge.txt | sed -e "s/[0-9]//g" | sed -s "s/[[:lower:]]//g" | sed -s "s/[[:upper:]]//g" ....以下、補…

【vim】Found a swap file by the name "xx.swp"と出た場合

事象 viにてファイルを編集する際に以下のような警告が表示される。 E325: ATTENTION Found a swap file by the name "x.sh.swp" owned by: root dated: ... file name: ~root/hoge/x.sh modified: YES user name: root host name: instance-1 process ID: 1…

【Linux】JSONを扱う際の便利コマンドjidとjqの紹介

はじめに CURLコマンド等で外部からデータを取得する際、データ形式がJSONで提供されることがあります。 {"Rankings":[{"Ranking":{"genre":"all","title":" ... 上記のように単純なgrepでは値を抜き出しづらいですが、専用ツールを利用すると値を簡単に抜き…

【Linux】factorコマンドにて素数の一覧を表示する

はじめに factorコマンドは引数に指定した数値を素因数分解するコマンドです。 $ factor 2020 2020: 2 2 5 101本記事ではこちらを利用して素数一覧を出すワンライナーを紹介します。 素数の一覧を表示するワンライナー 以下です。 $ seq 2 30 | factor | cut…

【Linux】lsofコマンドの出力結果メモ

はじめに list open filesの略であるlsofコマンドは言葉の通りファイルに関する情報を表示できます。 Linuxではデバイス含めてファイルとして扱われる性質がある以上、幅広い情報を取得できるコマンドなので今回は出力結果についてメモを残しておきます。 ls…

【AIXチートシート】情報収集用コマンド

よく利用するものをまとめました。 最新情報は公式サイトを確認ください。(参照系なので悪影響は起きにくいですが) AIX系情報収集コマンド リソース情報 スロット構成 ディスク OS情報 エラー情報 タイムゾーン キーボード ファームウェア 終わりに AIX系…

【UNIX】psコマンドが使用できない場合にプロセス情報を調べる方法

はじめに 以下のようにプロセスの起動状況を調査するpsコマンドですが、環境によっては使用できなかったりコマンドが削除されている場合があります。 $ ps xx PID PPID PGID WINPID TTY UID STIME COMMAND ....本記事ではpsを使用せずに上がっているプロセス…

【e-config】ソフトウェア用の構成ファイルを作成

はじめに 主にAIXで採用されるPowerSystemsといったIBM製品の構成ファイル作成を支援するe-config、こちらのツールに関してネット上に情報があまりないので備忘録としてタイトルの作業の流れを記載しておきます。 手順 用意するもの ソフトウェアを付与した…

【Linux】/var/log/cron.logが存在しない場合

はじめに cronの実行結果を確認しようとcron.logを探しに行くもそれらが存在しない場合の調査方法/流れについて記載しました。 結論から言えば該当のメッセージは/var/log/syslogに格納されているケースが一般的です。 コマンド実行環境 Debian GNU/Linux 9 …

【Linux】uniqのcountオプションの区切りを右詰スペースからカンマ区切りにする

はじめに sort結果をカウントする際に便利なuniqコマンドによるcountオプションですが、そのまま使うと以下のように右詰スペース区切りになってしまいます。 3 日本語訳 10 機械学習 1 生産性向上 1 画像処理 3 異常検知これでは少し扱いづらいので上記を 3,…

【入門】NIMとは?

はじめに Network Install Manager、略してNIMはAIXが提供するソフトウェア管理機能で、こちらを使えば複数マシンのOS導入作業を省力化して行うことができます。本記事ではNIMという用語について初めて聞いた方を対象に、分かりやすく説明します。 NIMの役割…

【Linux】nkfにて全角英数を半角英数にする

実施方法 -Zオプションを利用する。 $ echo "AIXというOS" | nkf -Z AIXというOS上記のように「AIX」という全角が「AIX」という半角になっています。 環境情報 $ nkf --version Network Kanji Filter Version 2.1.5 (2018-12-15) Copyright (C) 1987, …

【Linux】日本語テキストをsort及びuniqする際の注意点

注意点 LANG設定によっては正しくsortされず、uniqオプションを利用すると情報が抜け落ちてしまう。 環境情報 $ sort --version sort (GNU coreutils) 8.26 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html></http://gnu.org/licenses/gpl.html>…

【入門】sleepコマンドとcron機構の違い

はじめに sleepコマンドとは処理を中断することで待ち時間を発生させる手法で任意の秒数で指定できるので、場合によってはcronに登録するよりも手軽に利用できます。本記事では、例えばコマンドを60秒毎に実行する場合におけるsleepとcronの違いについて分か…

【Linux】ターミナル上にて無限ループでコマンドを発行する

はじめに 例えば、一定間隔で実行するスクリプトの動作確認をしたい際にcrontabに追加するのではなく任意の秒で繰り返し実行したいケースがあるとします。そのような場合に利用できる手法に「watchコマンド」を利用するものと「while構文」を利用する二つの…

【Linux】SSH接続が失敗時のサーバ側ログの確認方法

はじめに リモートからサーバに対してSSHログインを試みた際、失敗するとサーバ側にてエラーログを見たい場合があります。 そのような際にはsshd_configにてログを出力するようにして内容を確認する必要があります。 本記事ではそれらの流れについて記載しま…

【Linux】authorized_keysに不要な権限を付与するとSSHに失敗する

はじめに 表題の通りで、具体的にはOtherに対して「書き込みを許容」してしまうとエラーになります。つまり、以下にあるようなSSH認証のための準備におけるパーミッションの適切な変更は必要条件というわけです。 #公開鍵を authorized_keys に追記 $ cat id…

【入門】PPARとLPARの違い

PPARとLPARは、物理サーバのハードウェア特性を活かしたまま仮想化による複数サーバの立ち上げが行えるため、本番環境と開発環境を区分けした状態で同居させるといった資源の有効活用が行えます。 本記事では、そんなパーティションニング方法に関してPPARと…

【wcコマンド】改行無し終端テキストに対する注意点

はじめに Hello Worldと書かれたテキストファイルを画面に表示した際、以下のように終端が改行されずにプロンプトが表示されることがあります。 root@instance-1:~$ cat hoge.txt Hello Worldroot@instance-1:~このようなファイルは、改行無し終端テキストと…

【スクリプト/ワンライナー】複数行毎に繰り返すテキストを処理する

はじめに 必要なデータが例えば以下のように整備されているといいのですが textA,numA textB,numB ...以下のような状態であることがあります。 textA numA hogeA textB numB hogeB ...要は3行毎に情報が繰り返され、1行目と2行目をカンマ区切りで一行として…

【Bashシェルスクリプト】テキストの特定行を一行ずつ処理する

やりたいこと テキストの任意の行を一行ずつ処理する。一例として、5行のファイルから3行目を表示し、1行目を表示し、4行目を表示する。 コマンド実行環境 Debian GNU/Linux 9 (stretch) サンプルファイルの準備 サンプルとして以下ファイルtest.txtを用意し…

【Bash】文字列を結合すると順番が崩れる不具合

事象 abcde=$a$b$c$d$e echo $abcde とした場合に表示結果が想定と異なる。 コマンド実行環境 Debian GNU/Linux 9 (stretch) 考えられる原因 $a~$eのどれかに文末の制御コード「^M」が入りこんでいる。 確認方法はそれぞれを小分けにしてテキストファイルに…

【Linux】wgetコマンドの結果が&マークで区切られる事象

事象 国土地理院が提供している標高APIにwgetコマンドベースでアクセスするも情報が取得できない。以下はサンプルURL http://cyberjapandata2.gsi.go.jp/general/dem/scripts/getelevation.php?lon=140.08531&lat=36.103543&outtype=JSONブラウザでは情報が…