■2015年カレンダーをCSV、xslxに出力
以下で思い出した、2014年カレンダーのワンライナーが
2015年も使えることに気が付いた。(というか忘れていた。)
USP友の会 勉強会 番外編(OSC 2013 Tokyo/Spring)を解いてみた。
http://labunix.hateblo.jp/entry/20141013/1413129899
年間カレンダーのcalとbash。CSV出力する。
http://labunix.hateblo.jp/entry/20140120/1390148410
$ for y in `seq 1 12`;do \
MYCAL="2015/${y}/01"; \
echo -e "\n$MYCAL,,,,,," | sed s%"/01"%%; \
echo "日,月,火,水,木,金,土"; \
n=`date -d "${MYCAL}" '+%u'`; \
l=`date -d "${MYCAL} next month last day" '+%d'`; \
if [ $n -ne 7 ];then \
for s in `seq 1 $n`;do echo -n "0 ";done; \
else \
echo " "; \
fi | \
for d in `xargs` `seq 1 $l`;do \
echo "$d $n" | \
awk '{if(($1+$2)%7==0) printf "%3d\n",$1%32;else printf "%3d",$1%32}'; \
done | sed s/" *\([0-9]*\)"/"\1,"/g | sed s/"^,"//g | sed s/",\$"//g | \
sed s/"^,,"//g | sed s/"^0,"/","/g | sed s/",0"/","/g; \
echo;unset n m MYCAL; \
done
2015/1,,,,,,
日,月,火,水,木,金,土
,,,,1,2,3
4,5,6,7,8,9,10
11,12,13,14,15,16,17
18,19,20,21,22,23,24
25,26,27,28,29,30,31
2015/2,,,,,,
日,月,火,水,木,金,土
1,2,3,4,5,6,7
8,9,10,11,12,13,14
15,16,17,18,19,20,21
22,23,24,25,26,27,28
2015/3,,,,,,
日,月,火,水,木,金,土
1,2,3,4,5,6,7
8,9,10,11,12,13,14
15,16,17,18,19,20,21
22,23,24,25,26,27,28
29,30,31
2015/4,,,,,,
日,月,火,水,木,金,土
,,,1,2,3,4
5,6,7,8,9,10,11
12,13,14,15,16,17,18
19,20,21,22,23,24,25
26,27,28,29,30
2015/5,,,,,,
日,月,火,水,木,金,土
,,,,,1,2
3,4,5,6,7,8,9
10,11,12,13,14,15,16
17,18,19,20,21,22,23
24,25,26,27,28,29,30
31
2015/6,,,,,,
日,月,火,水,木,金,土
,1,2,3,4,5,6
7,8,9,10,11,12,13
14,15,16,17,18,19,20
21,22,23,24,25,26,27
28,29,30
2015/7,,,,,,
日,月,火,水,木,金,土
,,,1,2,3,4
5,6,7,8,9,10,11
12,13,14,15,16,17,18
19,20,21,22,23,24,25
26,27,28,29,30,31
2015/8,,,,,,
日,月,火,水,木,金,土
,,,,,,1
2,3,4,5,6,7,8
9,10,11,12,13,14,15
16,17,18,19,20,21,22
23,24,25,26,27,28,29
30,31
2015/9,,,,,,
日,月,火,水,木,金,土
,,1,2,3,4,5
6,7,8,9,10,11,12
13,14,15,16,17,18,19
20,21,22,23,24,25,26
27,28,29,30
2015/10,,,,,,
日,月,火,水,木,金,土
,,,,1,2,3
4,5,6,7,8,9,10
11,12,13,14,15,16,17
18,19,20,21,22,23,24
25,26,27,28,29,30,31
2015/11,,,,,,
日,月,火,水,木,金,土
1,2,3,4,5,6,7
8,9,10,11,12,13,14
15,16,17,18,19,20,21
22,23,24,25,26,27,28
29,30
2015/12,,,,,,
日,月,火,水,木,金,土
,,1,2,3,4,5
6,7,8,9,10,11,12
13,14,15,16,17,18,19
20,21,22,23,24,25,26
27,28,29,30,31
■エクセル(xlsx)形式に変換、libreofficeで確認(書式変更も可)、エクセル(xlsx)形式からcsvに変換
$ ssconvert --export-type=Gnumeric_Excel:xlsx cal.csv cal.xlsx
$ libreoffice cal.xlsx
$ ssconvert --export-type=Gnumeric_stf:stf_csv cal.xlsx export_cal.csv