読者です 読者をやめる 読者になる 読者になる

それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ファイルサイズを取得し、変数に格納する

bash linux

rubypython からすぐ出来るんですが、bashでやると面倒ですね

ruby

File.size( 'path/to/file' )

python

import os 
os.path.getsize('path/to/file')

bash

どうやるの? ls -l だと余計なものが多いし。。。まさか、cut してgrep する〜?awkする?

いくつかあるけど stat が良さそう

stat -c %s path/to/file

コレを使って

size=$(stat -c %s path/to/file)

まとめ

ほかにも du -k ls -l wc -c なども考えられる。

ぱっと思いついただけで以下の通り。

ls -l path/to/file | cut -d ' '  -f 5
du --apparent-size --block-size=1  path/to/file
wc -c  < path/to/file
find path/to/file --printf=%s
ruby -e 'puts  File.size  ARGV[0]' path/to/file
  • du だとブロックサイズを意識するのが面倒ですね。
  • ls は cut と組み合わせるのが面倒ですね。
  • rubyワンライナーも面倒ですねぇ
  • find は stat とやってること変わらないから面倒ですねぇ。引数位置とかも。
  • wc はありですねぇ

参考資料

http://unix.stackexchange.com/questions/16640/how-can-i-get-the-size-of-a-file-in-a-bash-script

curl でよく使う設定をまとめる ~/.curlrc

linux curl

curl の基本設定ファイルを作ることが出来る

~/.curlrc

Default config file, see -K, --config for details.

.curlrc に書く書き方は -K で指定する config ファイルと同じ

curl の毎回指定するのめんどくさいオプションを書いておくと楽

とくに、CookieやUser-Agentなど毎回付けるのが面倒なので、config を作ると楽になる。

とりあえず作った

## デフォルトでつけるよくあるヘッダ
header = "Accept-Encoding: gzip, deflate, sdch"
header = "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36"
header = "X-Config-File: ~/.curlrc"

--compress

X-Config-File は 自分でも curlrc をつけていることを忘れることがあるので、-v した時に気づくように追加しておいた。

gzip / deflate 圧縮を有効にする

header = "Accept-Encoding: gzip, deflate, sdch"
--compress

gzip/deflate で転送しつつ、 --compress で 圧縮されたレスポンスを展開して取得して表示する。

2017-02-15 追加

Cookie も毎回指定するならめんどくさいので、設定に書くことにした。

## cookie
cookie-jar =  /Users/takuya/.curl_cookies
cookie     =  /Users/takuya/.curl_cookies

設定の書き方

どうやらこういう書き方をするといいらしい。

-c path--cookie-jar path とも書くことが出来る。これを cookie-jar = path と書くことが出来る。

これは以下のように読み替えていけばいい

  • -c path
  • --cookie-jar path
  • cookie-jar = path ← 設定ファイル

同じように -b のオプションも同じですね。

  • -b path
  • --cookie path
  • cookie = path ← 設定ファイル

つまり、header の場合はこれを使うと

  • -H value
  • --header value
  • header = value

などと書くことが出来るようですね。

参考資料

man curl

iphone "装着していることを感じさせないほど薄い"

ネタ 広告

ELECOM iPhone5/5S用 シェルカバー 薄型スリム クリア(乳白色) 液晶フィルム付き PS-A12PVUCR

f:id:takuya_1st:20170202230338j:plain:w400

iPhone 2012にぴったりフィットしてキズや汚れからしっかり守るポリプロピレン製の薄型シェルカバーと保護フィルムです。 軽くて丈夫でありながら薄くてスリムなので、本体のデザインを損なうことなくキズや汚れをガードします。 前面フルサイズの液晶保護フィルムが付属しています。液晶保護フィルムは、iPhone 2012にぴったりのサイズですので、カットする手間がかかりません。 保護フィルムは、貼り付け面にシリコン皮膜をコーティングした自己吸着タイプです。接着剤や両面テープを使用しないので、本体を汚すことなく手軽に貼り付け・貼り直しができます。 ケースを装着したままで液晶画面の確認、本体の操作、充電・通信ケーブルの接続が可能です。メーカー型番 : PS-A12PVUCR対応機種 : iPhone 2012セット内容 : ケース本体×1、液晶保護フィルム×1材質 : ケース本体:ポリプロピレンカラー : クリアフィルム材質 : 表面:PET、接合面:シリコン

f:id:takuya_1st:20170202230647p:plain:w100f:id:takuya_1st:20170202230651p:plain:w100

おひとつどうですか

ご購入はこちらから → http://j.mp/2jGXxIC