作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 AIX 与 ksh 一起使用。我正在尝试计算一个月的工作日数。我曾尝试使用 AWK,但现在挂断了。
这是我目前所得到的:
cal | awk '{print $2, $3, $4, $5, $6} | awk 'NR > 2'
这是 cal 的正常输出(当前日期/时间):
April 2014
Sun Mon Tue Wed Thu Fri Sat
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
这是我使用该脚本得到的结果:
2 3 4 5
7 8 9 10 11
14 15 16 17 18
21 22 23 24 25
28 29 30
我的计划是,最后,将这些行读入 c 程序并输出总的工作日(现在我们不担心正常工作日的假期)。
正如您在此处看到的那样,由于第三行输出本身只有 5 列,因此它正在删除该周的第一个工作日。也许我的整个事情都错了——如果在 Unix 操作系统上或通过 C 有另一种方法可以做到这一点:我对“cal”和“awk”没有感情上的依恋(反正还没有)。
最佳答案
这样就可以了:
cal -h | cut -c 4-17 | tail -n +3 | wc -w
cal
在 4 个字符的列上显示行。 -h
关闭今天的突出显示。
April 2014
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
由于星期日是第一列,星期六是最后一列,因此需要提取字符 4 和 17 之间的数字:
$ cal -h | cut -c 4-17
April 2014
Mo Tu We Th Fr
1 2 3 4
7 8 9 10 11
14 15 16 17 18
21 22 23 24 25
28 29 30
然后删除前两行:
$ cal -h | cut -c 4-17 | tail -n +3
1 2 3 4
7 8 9 10 11
14 15 16 17 18
21 22 23 24 25
28 29 30
然后统计字数:
$ cal -h | cut -c 4-17 | tail -n +3 | wc -w
22
关于date - unix -- 获取工作日数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23137929/
使用PHP实现计算两个日期间隔的年、月、周、日数: 复制代码 代码如下: <?php function format($a,$b){
基本上我使用的是 MySQL gem for Ruby , 我对日期比较没有合理的支持。 Mysql::Time 类只给我访问器方法,如年、月、秒等。如果我可以将其转换为 Ruby DateTime
我是一名优秀的程序员,十分优秀!