Pre*_*vac 3 text-processing cal calendar
我是 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
Run Code Online (Sandbox Code Playgroud)
你可以用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
Run Code Online (Sandbox Code Playgroud)
1n
打印第一行并移至下一行。替换然后三个三个字符并打印前两个,,
然后是第三个。