(O+P)ut

(O+P)ut = OutPut



(O+P)ut

Output Log by SE

IT技術-UNIX-Linux

【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…

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

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

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

はじめに cronの実行結果を確認しようとcron.logを探しに行ってそれらが存在しない場合の流れについて記載しました。 結論から言えば同様のメッセージは/var/log/syslogに格納されています。 コマンド実行環境 Debian GNU/Linux 9 (stretch) syslogでログを…

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

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

【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…

【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行目をカンマ区切りで一行として…

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

やりたいこと テキストの任意の行を一行ずつ処理する。一例として、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ブラウザでは情報が…

【Linux】為替情報をwgetコマンドで取得する

はじめに ドル円レートをスクリプトベースで取得したい、と思った際にネットを見ていると ISホールディングの外為オンラインが提供する下記のリンク先がありました。https://www.gaitameonline.com/rateaj/getrateこちらをブラウザで見ると以下のように表示…

【Linux】数字を文字列としてひとつ進めるワンライナー

はじめに 数字を一つ進めるとは、「314」を「315」にするのではなく「425」にすることを意味しています。本記事では、それらを実現するワンライナーと解説を行います。 環境情報 $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)" 数字を一…

【Linux】複数ファイルのzipをunzipコマンドで解凍する

はじめに UNIX環境ではzip形式のファイルを展開するためにgunzipコマンドが存在する。 $ which gunzip /bin/gunzipファイル群がtarで括られ、それをzip形式としていれば問題なくgunzipで展開されるのですが、ファイル群をzip形式にしていると以下のようなエ…

^M: bad interpreter: No such file or directoryとエラーになる

事象 Windows機から転送したスクリプトをLinux機で実行した際に $ ./test.sh bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory とエラーとなる。 コマンド実行環境 Debian GNU/Linux 9 (stretch) 原因と対策 該当スクリプトは一行…

【awk】文字列を検索ワードで前後に切り出す

やりたいこと 文字列があった時に検索ワードを指定して切り出したい。具体的な例として以下の文字列があった際に abcdefghijklmn検索ワード「e」にて前半部分 abcd後半部分 fghijklmnを出力させる。 ワンライナー 検索文字列の前半を切り出す awk '{print su…

【EUC-JP】nkfによる日本語URLの変換方法

はじめに 日本語URLを変換する手順は以下記事で説明しました。 ところが上記は文字コードがUTFという前提にたっていました。「Hatena Keyword」のURLにて変換を実施した際にEUC-JPでエンコードされていることが原因でうまく動かなかったので別途本記事を執筆…

【Debian入門】digコマンドのインストールと試し打ち

やりたいこと 以下のDebian機に $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)"dig*1コマンドをインストールしたい $ dig www.mtioutput.com bash: dig: command not found インストールの流れ 以下にもあるように、Debian系のOSではapt…

StarshipをLinuxにインストールする

はじめに プロンプトをカスタマイズするStarshipというツールが流行っていたのでとりあえずインストールしてみました。その際のログです。 環境情報 Debian GNU/Linux 9 (stretch) サーバに配置する メディアは以下のリンクに配置されています。 記事執筆時…

【Linux】Excelの表をはてな記法の表に変換する手順

最近はWindowsでもbashが使えたりするので、はてなブロガーの人は参考にしてください。 前提 はてな記法では表と記載すれば |A|B|C| |1|2|3|以下のように表示されます。 A B C 1 2 3 コマンド実行環境 $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux …

dateコマンドで一連の日付を出力する

はじめに Excelではセルに日付データを入力して1日足す演算を行い、ドラッグ&ドロップを行えばカレンダーに沿って日付が表示されます。そして表示形式を変更すれば自由な形式で取り出せます。今回は同じような処理として、UNIX系OSにて一連の日付を「yyyymm…

【openssl】servernameオプションの有無による違い

ポイント ホスト名(ドメイン名)を指定して下記コマンドを発行するとSSL証明書に関する情報が取得できます。 $ openssl s_client -connect <domain>:443 -servername <domain>一方、-servernameオプションを指定しないと欲しい情報が取得できない場合があります。 これはWebサ</domain></domain>…

【入門】CoreOS(Container Linux)とは?

はじめに コンテナに最適化されたOS、CoreOSは別名Container Linuxとも呼ばれています。本記事では「CoreOS」を初めて聞いた方向けに分かりやすい記事を書きました。 CoreOSとは? 以下が公式文書です。 Container Linux redefines the operating system as …


他の記事を読む