moriaの日記: しましまの表を書く
日記 by
moria
プログラミングってほどじゃないし、こんなのもう誰かが書いていると思うけど、偶数行と奇数行で背景色などのスタイルが変わるHTML表をCSVから作るAWKスクリプトを書いてみました。
うちの会社のサイトに名簿表があって、わりに頻繁に更新するんだけど、しましまになっているので、加除した行の数が奇数だと、その後の全部の行について背景色を取り換えないといけない。「めんどー」と担当者に泣きつかれたので(わたしはサイト管理とは全然関係ない)、書いてみました。あとは、CSSかなんかで体裁を整えてね :-)
#!/usr/local/bin/gawk -f
# NAME
# csv2table.awk
# SYNOPSIS
# gawk -f csv2table.awk < input.csv > output.txt
BEGIN {
FS = ","
print "<table>"
}
{
if ( FNR % 2 == 1 ) {
print "\t<tr class=\"odd\">"
}
else {
print "\t<tr class=\"even\">"
}
for ( i = 1 ; i <= NF ; i++ ) {
gsub ( "\"", "", $i )
print "\t\t<td>" $i "</td>"
}
print "\t</tr>"
}
END {
print "</table>"
}
うちの会社のサイトに名簿表があって、わりに頻繁に更新するんだけど、しましまになっているので、加除した行の数が奇数だと、その後の全部の行について背景色を取り換えないといけない。「めんどー」と担当者に泣きつかれたので(わたしはサイト管理とは全然関係ない)、書いてみました。あとは、CSSかなんかで体裁を整えてね :-)
#!/usr/local/bin/gawk -f
# NAME
# csv2table.awk
# SYNOPSIS
# gawk -f csv2table.awk < input.csv > output.txt
BEGIN {
FS = ","
print "<table>"
}
{
if ( FNR % 2 == 1 ) {
print "\t<tr class=\"odd\">"
}
else {
print "\t<tr class=\"even\">"
}
for ( i = 1 ; i <= NF ; i++ ) {
gsub ( "\"", "", $i )
print "\t\t<td>" $i "</td>"
}
print "\t</tr>"
}
END {
print "</table>"
}
しましまの表を書く More ログイン