GNU/Linux >> Tutoriels Linux >  >> Linux

Imprimer la date du lundi de la semaine en cours (en bash)

Essayez ceci pour obtenir la date du lundi actuel.

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

Pour ceux d'entre nous qui n'ont pas de dates GNU (comme nous les utilisateurs d'OS X), nous pouvons avoir le paramètre "-v"

Vous pouvez alors faire ceci :

# 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

Cela ne semble pas non plus être un problème si aujourd'hui est lundi, dans mon cas actuel jeudi

# 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.

si une gamme est ce que vous recherchez, vous devrez peut-être faire quelques choses

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

qui afficherait :

20110628-20110703

En savoir plus sur les dates

notez que cela ne fonctionne qu'à la date GNU

J'ai lu ça :

Version Solaris de date, incapable de prendre en charge -d peut être résolu en remplaçant la date de la version de sunfreeware.com


Je pense que cela répond en fait à ce qui a été demandé :

date -d "next monday - 7 days"

Linux
  1. Le but du mot-clé "do" dans Bash For Loops ?

  2. Obtenir des pages de manuel individuelles pour les commandes intégrées Bash ? ?

  3. Est-il possible que l'achèvement de Bash parcoure les alternatives ?

  4. Comment puis-je obtenir la date et l'heure actuelles dans le terminal et définir une commande personnalisée dans le terminal pour cela ?

  5. Comment déterminer le numéro de la semaine du mois

Astuces Bash pour tous les jours en ligne de commande

Deux grandes utilisations de la commande cp :Raccourcis Bash

Comment obtenir la date et l'heure actuelles en Python

Astuces de formatage pour la commande Linux date

Bash For Loop – Le guide le plus pratique

La boucle Bash FOR expliquée et simplifiée