LoginSignup
1
0

More than 5 years have passed since last update.

dateの違い: Mac vs Linux

Last updated at Posted at 2017-04-24

linuxの勉強をして, 同じcodeをMacでも試すか, と思ったらやはりちょいちょい違う.

気づいたのは,
http://qiita.com/keitas0318/items/7df5014a8c00c64ceda3
のwebcam写真の自動DLをやってみようというもの.

ちなみに,
wgetは,こちら
https://wayohoo.com/unix/how-to-install-wget-to-mac.html
を参考にinstallしてみるもまだ使えず.
なぜだろ.

と思ったら,
brew install wgetであっさりいけた. @kabaoh パイセンazms!!

で.

dateも-rでfileの時刻を取ることができず困惑.
すると, この方
http://tatsuno-system.co.jp/2016/06/27/mac%E3%81%A7date%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E9%81%95%E3%81%86%E4%BB%B6%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/
いわく, やはり違うらしい.

Mac: BSD UNIXベース
raspi: GNU linux

参考にinstallしたらgdateで使えた.
どっちが良いかはわからんので, とりあえずaliasの変更はしていない.
Macデフォルトのdateの普及率とかを調べて微妙だったら変えますかね.

bashが上手くいかない

これで良いかと記事を終わりにしようと思ったら, webcamget.shがうまく動いていない
/var/mail/ksumiyaをみたら, gdateなんてないよと言われてた.
えー....

とりあえず, 現時刻で代用するかと

webcamget.sh
#!/bin/sh
cd /Volumes/T/Dropbox/linux_test/webcam
curl -O https://pixelcaster.com/yosemite/webcams/turtleback.jpg
mv turtleback.jpg `date +%Y%m%d_%H%M%S_ElCapitan.jpg`
sleep 30
curl -O https://pixelcaster.com/yosemite/webcams/turtleback.jpg
mv turtleback.jpg `date +%Y%m%d_%H%M%S_ElCapitan.jpg`

にしてみた.
でもmacでcrontabすると, 実行するたび(成功しても失敗しても)にYou have mail in /var/mail/ksumiyaと出るっぽい. うざいなー.

そして, ファイルの日付を取得する方法はまだ解決しておらず...

スマートではないけど解決しました.

$ ls -lT hoge.txt | awk '$6<=9{z="0"}$6>9{z=""}{t=$9z$6$7"_"$8; gsub(":","",t); print t}'
20170327_044949

@kabaoh さんの案. こっちのがいいな

$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $5$3$4"_"$6$7$8}'
20170425_122813

でも
http://x68000.q-e-d.net/~68user/unix/pickup?date
https://hydrocul.github.io/wiki/commands/date.html
はちょっと面白い.

awk -F' 'について

MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk '/created:/{print $0}'
created: 04/25/2017 12:28:13
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk '/created:/{print $1}'
created:
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk '/created:/{print $2}'
04/25/2017
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk '/created:/{print $3}'
12:28:13
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk '/created:/{print $4}'

MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/' '/created:/{print $0}'
created: 04/25/2017 12:28:13
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/' '/created:/{print $1}'
created: 04
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/' '/created:/{print $2}'
25
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/' '/created:/{print $3}'
2017 12:28:13
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/' '/created:/{print $4}'

MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $0}'
created: 04/25/2017 12:28:13
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $1}'
created
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $2}'

MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $3}'
04
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $4}'
25
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $5}'
2017
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $6}'
12
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $7}'
28
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $8}'
13
MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $9}'

MBP:linux_test ksumiya$ getfileinfo hoge.txt | awk -F'/|:| ' '/created:/{print $5$3$4"_"$6$7$8}'
20170425_122813

蛇足

for i in `seq 1 13`; do date -v+"$i"d +%Y-%m-%d" "暇; done

結果:

2017-04-25 暇
2017-04-26 暇
2017-04-27 暇
2017-04-28 暇
2017-04-29 暇
2017-04-30 暇
2017-05-01 暇
2017-05-02 暇
2017-05-03 暇
2017-05-04 暇
2017-05-05 暇
2017-05-06 暇
2017-05-07 暇
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0