Cal 无空格分隔符

Cal 无空格分隔符

我是一名 OpenBSD 用户,我正在编写一个 awk 脚本,它会自动为我教授的所有课程生成 TeX 课程日历。为了从系统中获取实际日历,我使用 Unix cal 命令。问题是 cal 命令的输出使用空格作为分隔符,当我对其应用 nawk 脚本时,这会产生各种问题。我查看了 cal 的源代码,似乎只要破解源代码就会强制 cal 命令使用空格以外的分隔符。让日历看起来像这样的最简单的方法是什么

        June 2012
Su, Mo, Tu, We, Th, Fr, Sa
  ,   ,   ,   ,   ,  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

答案1

你可以用sed它。

$ cal|sed -e '1n;s/\(..\)\(.\)/\1,\2/g'
      May 2012      
Su, Mo, Tu, We, Th, Fr, Sa
  ,   ,  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

1n打印第一行并移至下一行。然后,替换将字符三个三个地打印,然后打印前两个,然后,打印第三个。

相关内容