2016-04-21 15 views
-2

ubuntuコマンドを使用して2017年に母の日(5月の第2日曜日)の日付を見つける方法を教えてください。ubuntuコマンドラインを使って休暇を見つけるには?

-vはubuntuでは動作しないので、Macでは動作します。

+0

をしたい場合は、フォーマットを調整しますか? – thebjorn

+0

母国の日は各国の異なる日に祝われます(例:[wikipediaのエントリ](https://en.wikipedia.org/wiki/Mother%27s_Day#Dates_around_the_world)参照)。あなたは何の日を見つけようとしていますか? – Mureinik

+0

5月の第2日曜日 – Jam

答えて

3

月のその通常第2日曜日を言うことができます:

[email protected]:~$ date -v1d -v5m -v+1y -v+2w -v-sun 
Dim 14 mai 2017 22:56:28 CEST 

あなたはより多くの例を得るためにman dateを見なければならないとあなたは別の特定の日曜日を必要とするか、日

を修正する場合、私は走っていた見つけるために私のmacos(FreeBSDベース)で実現しなかったdateは* nixシステム全体で均一ではありませんでした。

はUbuntuの上で、それは少し難しいが、ここで私は

[email protected]:~$ firstofmay=$(date -d '05/01/2017') 
[email protected]:~$ firstsunday=$(date -d "$firstofmay" '+%Y-%m')-$((8 - $(date -d "$firstofmay" '+%u'))) 
[email protected]:~$ secondsunday=$(date -d "$firstsunday + 1 week" '+%Y-%m-%d') 
[email protected]:~$ echo $secondsunday 
2017-05-14 
  1. は最初、私は
  2. が、私は最初の形式を取得し、私の基準日として、5月の第1回を初期化して行くだろうか明らかにしましたこの日からの日曜日:日は7ベースであり、$(date -d "$firstofmonth" '+%u')は最初の日の日数になります(つまり、mondayは1です)。これは、この日付に1週間を追加
  3. などYYYY-MM-DDとしての形式を与える私は以前に正しい日付を与えている - あなたが国のためにそれ異なる
+0

私の人生の日付では、-vのメアリングは何ですか?-d、-f、-r、-R、-s、-u、--helpのみです。だから、1dは1日を意味し、5m - > may、+ 1y - >来年、+ 2w - > 2週目を意味します。しかし、私はここで-vを使うことはできません。私はubuntuを使用しています。 – Jam

+0

そうですね、あなたのシステムではunixを言い、unixにタグをつけて、ubuntuのdateコマンドの答えを出します –

関連する問題