2017-05-08 2 views
2

J'ai un script shell comme ci-dessousImprimer le chemin d'un fichier par jour avant et un jour après dans le script Shell

#!/bin/bash 

TIMESTAMP=`date "+%Y-%m-%d"` 
path=/home/$USER/logging/${TIMESTAMP}/status/${TIMESTAMP}.fail_log 

echo filePath=$path 

Dans ce script, je veux imprimer le path des journaux échouait pour cette particulière horodatage

Maintenant, je suis en mesure d'obtenir le echo pour imprimer le chemin. Comment imprimer un jour avant et après le timestamp? Est-il possible de faire ça?

Comment puis-je faire cela dans une seule ligne de code? pouvons-nous faire cela?

+0

Avez-vous effectivement recherché, en utilisant les [SO questions] connexes (http://stackoverflow.com/questions/15374752/get-yesterdays-date-in-bash-on-linux-dst-safe)? – t0mm13b

+0

'date --date =" hier "', 'date --date =" demain "' – gaganshera

Répondre

1

Pour obtenir les données de demain, vous pouvez faire:

date -d '+1 day' "+%Y-%m-%d" 

Pour obtenir les données d'hier, vous pouvez faire:

date -d '-1 day' "+%Y-%m-%d" 

Pour l'utiliser dans le script:

#!/bin/bash 

nextDate=$(date -d '+1 day' "+%Y-%m-%d") 
prevDate=$(date -d '-1 day' "+%Y-%m-%d") 

nextDatePath=/home/$USER/logging/${TIMESTAMP}/status/${nextDate}.fail_log 

prevDatePath=/home/$USER/logging/${TIMESTAMP}/status/${prevDate}.fail_log