GNU/Linux >> Znalost Linux >  >> Linux

Tisk data pro pondělí aktuálního týdne (v bash)

Zkuste toto, abyste získali aktuální pondělní datum.

wd=`date +%u`; 
let wd=wd-1; 
mon=`date --date="-$wd day" +%Y%m%d`;

Pro ty z nás, kteří nemají data GNU (jako my OS Xers), můžeme mít parametr "-v"

Poté můžete provést toto:

# Most recent Monday
date -v -Mon

# Output as of this writing
Mon Jun 24 12:35:48 EDT 2013

date -v -Mon "+%Y%m%d"

# Outputs
20130624

Zdá se také, že to není problém, pokud je dnes pondělí, v mém současném případě čtvrtek

# Today's date
date

# Outputs
Thu Jun 27 12:41:39 EDT 2013

# Most recent Thursday
date -v -Thu

# Outputs
Thu Jun 27 12:41:46 EDT 2013

#monday
date -dmonday +%Y%m%d

#last monday
date -dlast-monday +%Y%m%d

#next monday
date -dnext-monday +%Y%m%d

#two mondays from now
date -d'monday+14 days' +%Y%m%d

#two mondays ago
date -d'monday-14 days' +%Y%m%d

#although, if you fancy yourself an Abraham Lincolin
date -d'monday-fortnight ago' +%Y%m%d #2 weeks ago
date -d'monday+fortnight' +%Y%m%d #2 weeks from now

#Monday Next Year
date -d'52+monday' +%Y%m%d

#However, Monday Last Year
date -d'52-monday' +%Y%m%d  #DOES NOT  WORK




#you can try a day other than monday
#and format this differently.

pokud je rozsah tím, co je vaše poté, možná budete muset udělat pár věcí

#Tuesday to Sunday
#since today is monday, I'll use Tuesday
echo `date -dtuesday +%Y%m%d-``date -dnext-sunday +%Y%m%d`

který by vypsal:

20110628-20110703

Více o datech

všimněte si, že to funguje pouze na GNU date

Četl jsem to:

Verze Solaris date, která nepodporuje -d lze vyřešit výměnou sunfreeware.com verze ofdate


Myslím, že to ve skutečnosti odpovídá tomu, co bylo požadováno:

date -d "next monday - 7 days"

Linux
  1. Bash tipy pro každý den na příkazovém řádku

  2. Dvě skvělá použití pro příkaz cp:Bash zkratky

  3. Udržujeme vás ve smyčce – příklady opakování pro, Zatímco, dokud

  1. Získejte aktuální čas v sekundách od epochy na Linuxu, Bash

  2. Převést formáty data v bash

  3. Jak určit počet týdnů v měsíci

  1. Získejte jednotlivé Man Pages pro Bash Builtin Commands??

  2. Je možné, aby dokončování Bash procházelo alternativami?

  3. Linux – získávání souborů pro aktuální datum v Linuxu?