使用 $cut 仅查看月份

使用 $cut 仅查看月份

这是我通过执行 $date 得到的结果:

Wed Feb  1 16:21:58 PST 2017

我想使用 cut 命令和管道仅打印“Wed”。

date | cut -f '1-3'

为什么上面的命令没有执行任何操作?我应该如何修复它?

答案1

这将起作用:

date | cut -d' ' -f1

答案2

日期实用程序有自己的格式参数,利用标准格式代码

你会想要

#date +"%a"

这将给Thu

或者

date +"%A"

这将给Thursday

参考:http://ss64.com/bash/date.html

回复:为什么“剪切”不起作用。

-f 选项基于 TAB 分隔间距,因此需要 -d 选项根据 @rakesh-n 的响应指定空格作为分隔符。

date | cut -d' ' -f1

参考:http://ss64.com/bash/cut.html

答案3

您可以使用临时隐藏文件将月份加载到变量中,并且它将保留在那里,直到会话结束或变量加载了其他内容。以下是可以从任何目录运行的示例脚本:

#!/bin/bash
month=$(date | cut -c 5-7)
echo $month

将返回Feb。现在您有了一个包含月份的变量,您可以用它做任何您喜欢的事情。不要忘记在将来包含该-c参数,以便 cut 知道从列中提取字符,而不是从字符串中提取字节。

相关内容