私はOpenBSDユーザーであり、私が教えるすべてのコースのTeXコースカレンダーを自動的に生成するawkスクリプトを書いています。システムから実際のカレンダーを取得するには、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
最初の行を印刷して次の行に移動します。その後、置換は3x3文字を印刷し、最初の2文字、,
3番目の文字を印刷します。