1 votes

Comment puis-je remplacer le saut de ligne et l'espace par <td><tr> en utilisant sed pour chaque mois du calendrier ?

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

3voto

dessert Points 36815

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.

SistemesEz.com

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.

Powered by:

X