J'utilise ce code mais il ne fonctionne que pour janvier. Comment puis-je utiliser sed
pour qu'il fonctionne pour chaque mois ?
var='\n|};2,${s|\(..\) ||g;s|^||;s|$||};$s|$|\n'
cal -h | sed '1{s|^|'"${var}"'|;s|$|\1|' >> file.html
J'utilise ce code mais il ne fonctionne que pour janvier. Comment puis-je utiliser sed
pour qu'il fonctionne pour chaque mois ?
var='\n|};2,${s|\(..\) ||g;s|^||;s|$||};$s|$|\n'
cal -h | sed '1{s|^|'"${var}"'|;s|$|\1|' >> file.html
Je utiliserais une boucle for
pour parcourir les mois nécessaires, de 1 à 12 :
var='\n|};2,${s|\(..\) ||g;s|^||;s|$||};$s|$|\n'
for i in {1..12}; do
cal -hm$i | sed '1{s|^|'"${var}"'|;s|$|\1|' >>file.html
done
Cela fonctionne sous 16.04. Comme l'ont souligné d'autres dans les commentaires et confirmé par la page de man
, dans 17.10 (et suivantes) cal
n'a plus l'option -h
. Vous pouvez utiliser ncal
à la place, voir man cal
pour plus de détails.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.