LinuxのCUIでアメリカ市場の株価チェックを出来る『Mop』コマンド

サラリーマン投資家も増えた昨今、仕事中でも株価を確認したい人もいるだろう。
もしそれがアメリカ市場ならば、この『Mop』コマンドを使用することでコンソール上でその株価を調べる事も可能だ。

1.インストール

まずはインストール。
『Mop』はgoで記述されているので、対象マシンにはすでにgo及びgitがインストールされている事が前提となる。

go get github.com/michaeldv/mop
cd $GOPATH/src/github.com/michaeldv/mop
make install

完了後、goでインストールしたコマンドを利用出来るようにPATH...


仕事で、PowerShellから対象URLのステータス状態(200とか404とか)を取得する必要があったので、その備忘。
PowerShellでその辺りの情報を取得する場合は、以下のように記述する。

$url = "対象URL"
[System.Net.HttpWebRequest]$REQUEST = [System.Net.WebRequest]::Create($url)
$RESPONSE = $REQUEST.GetResponse()
$RESPONSE.Close()
[int]$RESPONSE.StatusCode


awkで[](カギカッコ)内の値に応じて行を抽出する

仕事で、Apacheのログ・ファイルから内に記述されている応答時間で、時間のかかっているログのみを抽出するといった対応があった。
で、とりあえず〇〇秒以上のログだけを抽出するような対応をしたので、その備忘。

対応としては、以下のようにデリミタにを指定して、その中の値が〇〇以上のログだけを抽出するようにした。

awk -F '[][]' '$4 >= 〇〇' ログファイルPATH

Linux・UNIXでExcelのフィルタのように、ファイルから〇〇以上、〇〇以下で行を抽出する方法

LinuxやUNIXで、Excelのフィルタ機能のように特定の列で〇〇以上、〇〇以下といった指定方法で行を抽出する場合は、awkを使うとカンタンだ。
awkで特定列の値が〇〇以上の行を指定する場合は、以下のように指定する。

awk '列 >= 条件' 対象ファイル

複数条件を指定する場合は、以下のように「&&」で繋げる(orの場合は、「||」で繋げる)。
例えば、特定列の値が〇〇以上、〇〇以下といった指定をする場合は、以下のようにする。

awk '列 >= 条件 && 列 <= 条件' 対象ファイル

[root@test-centos7 ~]# cat /work/te...

sortコマンドで覚えておきたい使い方9個(+3個)

Linux/UNIXでよく使用される、出力される内容を並び替えするsortコマンド。
今回は、このsortコマンドで覚えておきたい使い方についてを紹介する。

1.基本的な使い方

基本的には、以下のようにコマンドを実行することでその出力内容を並び替える事が出来る。

[root@test-centos7 ~]# cat /work/test5.txt
5 eeeee
1 aaaaa
4 ddddd
2 bbbbb
6 fffff
3 ccccc
[root@test-centos7 ~]# cat /work/test5.txt | sort
1 aaaaa
2 bbbbb
3...

uniqコマンドで覚えておきたい使い方6個

uniqコマンドは、Linux/UNIXで使用される、重複した行を圧縮して出力してくれるコマンドだ。
今回は、このコマンドについて覚えておきたい使い方についてを紹介する。

1.基本的な使い方

基本的には、以下のように使用することで標準出力の内容から重複行を圧縮して表示させることが出来る。

[root@test-centos7 ~]# cat /test/test3.txt
aaaaa
aaaaa
aaaaa
bbbbb
bbbbb
bbbbb
bbbbb
bbbbb
ccccc
ccccc

[root@test-centos7 ~]# cat /test/test3.txt...

sedで特定の文字列~文字列間を置換する

sedでは、ある文字列~文字列間の行を置換する、と言った指定をすることが出来る。

sed '/文字列(開始)/,/文字列(終了)/s/○○○/●●●/g' 対象のファイルPATH

[root@test-centos7 ~]# cat test.txt
testline1="test1"
testline2="test2"

testline3='test7'
testline4='test4'

testline5 test5
testline6 = test6
[root@test-centos7 ~]#
[root@test-centos7 ~]# sed '/line2/,/...

シェルスクリプトで、配列内の文字列と一致するかどうかで動作を切り替えたい事があったので、その備忘。
関数を作成しない場合、以下のようにすることで配列内に値がない場合は指定した動作を行わせる事ができる。

例)array配列内に、変数wordで指定した文字列がない場合、ifで指定した処理を実行させる。

#!/bin/sh
array=("one" "two" "three");
word=$1

if ! `echo ${array[@]} | grep -q "$word"` ; then
    echo "値がありませんでした"
fi


sedで行頭以外の置換を指定する

sedで行頭を指定する場合、「^」を頭につける事で対応するが、では行頭以外を指定する場合はどうすればいいのだろうか。
その場合は、以下のようにコマンドを実行することで指定可能だ。

sed 's/\([^^]\)置換前文字列/置換後文字列/g' ファイルPATH

sedでメールアドレスを『○○○@●●●●●』というようにマスキング置換する

phpなどのログでメールアドレスを記録していると、個人情報保護の観点から別の部署や開発会社にデータを渡す際に、アドレスがわからないようマスキングする必要があったりする。
そんな時は、以下のようにsedで一括置換をすればいい。
※『○○○@●●●●●』の箇所はお好みで変更。

sed "s/[^@ ]*@[^@]*\.[^@ ]*/○○○@●●●●●/g" ファイルPATH