如何使用命令、cal
、sed
和tr
管道来显示一个月的数字天数(例如,1、2、3 等),并且每一天都在单独的行上
我试过了:
cal 12 2015| sed '3,7p' | tr -cs "[:alpha:]" "[\n*]"
并输出:
December
S
M
Tu
W
Th
F
S
答案1
你已经很接近了。
在有选择地打印行之前,您需要抑制
sed
的输出:$ cal 12 2015 | sed -n '3,7p' 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
你
sed
可能没有-n
。在这种情况下,请使用d
删除除所需行之外的所有行。您的
tr
命令将替换除字母表之外的所有内容 - 其中包括数字。只需替换空格即可:$ cal 12 2015 | sed -n '3,7p' | tr -s ' ' '\n' 1 2 3 4 5 6 7 8 9 10 11 12