dateで前日の日付

表題の通り。前にも書いた気がするのだが見つけられなかったので書いてしまう。

■ 環境

  • Linux
  • Mac OSX El Capitan

■ date

現在時刻を表示するには下記。

$ date
Fri Jun 16 19:10:10 JST 2017
$

1日後の日時を取得するには下記。

$ date -d '1 day'
Sat Jun 17 19:10:15 JST 2017
$

day“だけでなく、”year“, “month“, “hour“, “minute“, “second“とかいける。

1日前の日時を取得するには下記。

$ date -d '1 day ago'
Thu Jun 17 19:10:32 JST 2017
$

ちなみに次の月曜とかも取得ができる。

$ date -d '1 monday'
Mon Jun 19 00:00:00 JST 2017
$

結構便利だ。

ちなみにMacでは下記のように取得できる。

$ date -v 1d
2017年 6月 1日 木曜日 19時17分09秒 JST
$
$ date -v -1d
2017年 6月15日 木曜日 19時17分14秒 JST
$

以上。

sedで改行文字を削除

表題の通り。いつも忘れるのでメモ。

■ 環境

  • sed
  • Linux
  • Mac OSX El Capitan

■ sed

何かしらのスクリプトで、ファイルから読み取って変数に入れて使用している時、たまに行末の改行文字が含まれたままのやつがあり、予期せぬ場所で改行がされてしまうことがある。

改行を削除すれば良いか、と下記のようにしてしまうのだが、これでは削除ができない。

sed -e 's/\r//'

下記のようにしなければならない。

sed -e 's/^M//'

この”^M“を入力するのが少々厄介で、単に文字列として”^M“を入れるでは思い通りに動かない。

control + V
control + M

上記のように入力すると良い。

以上。

改行コード変換

表題の通り。LFからCRLFに変換した時のメモ。

■ 環境

  • nkf 2.1.4
  • Mac OSX El Capitan

■ nkf

`nkf`はHomebrewでインストールしている。

$ nkf -Lw [対象ファイル] > [結果]

逆に、CRLFからLFへ変換するのは下記である。

$ nkf -Lu [対象ファイル] > [結果]

以上。

■ 関連

コマンドラインでurlencode

AmazonLinuxにnkfをインストール

ネームサーバを指定して名前解決

表題の通り。

■ 環境

  • Linux
  • Mac OSX El Capitan
  • AWS Route53

■ dig

既存のとあるFQDNをまるっとすべてRoute53管理に移行したい。のでとりあえず先にRoute53の設定を仕込んだ。という段階で確認を行いたい。

$ dig www.example.jp
  :
;; ANSWER SECTION:
www.example.jp.    60    IN    A    XXX.XXX.XXX.XX1
www.example.jp.    60    IN    A    XXX.XXX.XXX.XX2
  :

Route53の管理画面から該当ドメインの”Hosted Zones“を確認し、”NS“レコードの値を確認する。

ns-XXX.awsdns-XX.net.
ns-XXX.awsdns-XX.com.
ns-XXX.awsdns-XX.org.
ns-XXX.awsdns-XX.co.uk.

上記のような値が設定されているので、`dig`にもオプションで追加する。とりあえず1番上に表記されているものを利用する。

$ dig www.example.jp @ns-XXX.awsdns-XX.net
  :
;; ANSWER SECTION:
www.example.jp.    60    IN    A    XXX.XXX.XX1.XX1
www.example.jp.    60    IN    A    XXX.XXX.XX1.XX2
  :

自身がRoute53で設定した値が取得できるであろう。

以上。

look

表題のコマンドを知ったのでメモ。

■ 環境

  • Linux
  • Mac OSX El Capitan

■ look

$ man look
  :
NAME
     look -- display lines beginning with a given string
  :
DESCRIPTION
     The look utility displays any lines in file which contain string as a prefix.  As look performs a binary search, the
     lines in file must be sorted.
  :

`grep`だと対象ファイルすべてを検索対象とするが、`look`だと二分探索で検索を行うらしい。というわけで事前に`sort`しておく必要がある、と。今回これに用いたデータはすでに日時で`sort`済みのデータなので`look`だと数倍の速さになった。

知らないことは罪である。

以上。