巨大zipの展開

表題の通り。展開しようとしたところエラーだったので方法を模索。ちなみに元ファイルのサイズは19GBである。

■ 環境

  • Mac OSX El Capitan

■ double click

Desktop上で展開しようとしたところ、下記のようなポップアップが…。

■ unzip

ターミナルから`unzip`でいけるかと思いきや、下記のメッセージ。

$ unzip XXXXXXXXX.zip
Archive:  XXXXXXXXX.zip
warning [XXXXXXXXX.zip]:  16609498779 extra bytes at beginning or within zipfile
  (attempting to process anyway)
error [XXXXXXXXX.zip]:  start of central directory not found;
  zipfile corrupt.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)
$

■ tar

最終的に下記で展開ができた。

$ tar xvf XXXXXXXXX.zip

以上。

Posted in: Mac | Tagged:

sshpass

Macで表題を入れてしまったメモ。セキュリティ的に良くないってことはわかってる…。

■ 環境

  • sshpass 1.06
  • Mac OSX El Capitan

■ sshpass

SSHでログインをするのに、公開鍵認証ではなくパスワード認証でしか許可されていないサーバが結構な量で存在する。そのログインIDとパスワードはExcelで送られてくる。毎回そのExcelファイルを開いて対象のIP・ログインID・パスワードをコピーしてターミナルに貼り付けて…とやっているのがとてつもなく無駄な時間なので、いけないとは思いつつも`sshpass`で楽をするようにしてしまった。

`sshpass`はHomebrewではデフォルトではインストールできない。検索するだけで下記のようになった。

$ brew search sshpass
We won't add sshpass because it makes it too easy for novice SSH users to
ruin SSH's security.
$

というわけで、直接インストールを実行する。

$ brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

あとは`.bashrc`に`alias`を設定した。

alias hostXX="sshpass -p 'password' ssh user@XXX.XXX.XXX.XXX"

良くないことだとはわかっているが…これで楽できる。

以上。

Macのsleepログ

下記の記事を読んで、へーっと思ったのでメモ。

Macで蓋を空けたり閉じたりした時間をログから拾う方法
http://qiita.com/AkihiroTakamura/items/5da0c1532fc509876560

■ 環境

  • Mac OSX El Capitan

■ 02/01のログ

昨日のログ。

$ pmset -g log | grep "Kernel Idle sleep preventers"
  :
2017-02-01 09:49:08 +0900 Assertions   Kernel Idle sleep preventers: IODisplayWrangler
  :
2017-02-01 18:24:07 +0900 Assertions   Kernel Idle sleep preventers: -None-
  :
$

最初と最後を抜き出せば、その日の勤務時間が見えるかなと。

以上。

Posted in: Mac | Tagged:

Macで透過画像

表題の通り。PNGの画像で白背景を透過にお手軽にしたかったのでメモ。

▪️環境

  • Mac OSX El Capitan

▪️ プレビュー

  1. “プレビュー.app“でPNG画像を開く
  2. 表示 > マークアップツールバーを表示
  3. 左から2つ目の”インスタントアルファ“を選択
  4. 透過にしたい箇所を適当にドラッグ
  5. 色がオレンジになった箇所が選択できているのでカット(“Command + X“)
  6. 保存

これで選択して削除した箇所が透過になったPNG画像が作成できる。

資料作成に役立てそうだ。

以上。

Posted in: Mac | Tagged:

Slackに改行を含むメッセージをcurlで送信

表題の通り。Slackの”Incoming Webhook“ではなく、”Web API“の “chat.postMessage“で改行を含むメッセージを`curl`で送りたい。node等で書いたアプリでは”chat.postMessage“相手でもあまり気にせず改行を含むメッセージを送れたのだが、スクリプトの中で`curl`コマンドを使用して送ろうとするとダメだったので自身の解決策を。

■ 環境

  • Slack
  • Linux

■ 結論

メッセージ(text)の中に改行を含むものは`curl`では送れなかった。しかし、自身の用途では改行以降は単なる一覧を追加したいだけだったので、”attachments“で実現が可能であった。”attachments“の”text“であれば、改行を含むメッセージもイメージ通りに改行されてSlackで表示されるようになった。

■ NG

$ curl -XGET "https://slack.com/api/chat.postMessage?token=${TOKEN}&channel=${CHANNEL}&text=${MESSAGE}&username=${USER}&iconemoji=${ICON}&link_names=1"

上記の”${MESSAGE}“に改行(¥n)を含んでいても、Slackで見ると改行はされずに文字列として”¥n“と表記されてしまう。

■ OK

もともとメッセージの改行以降は下記のように付加情報を一覧で出しているだけであった。

Hello World!!!
- 111
- 222

これを”NG“の時には下記のように表示されてしまう。

Hello World!!!¥n- 111¥n- 222

よって、この改行以降を”attachments“に分けてみた。

$ curl -XGET "https://slack.com/api/chat.postMessage?token=${TOKEN}&channel=${CHANNEL}&text=${MESSAGE}&attachments=${ATTACHMENTS}&username=${USER}&iconemoji=${ICON}&link_names=1"

attachments“に渡すのは下記のような文字列である。

[{"text":"- 111¥n- 222"}]

実際に`curl`に渡す時にはurlencodeをして渡している。

とすると、改行もされ思い通りのレイアウトで表示された。満足である。

以上。

■ 関連