这是我通过执行 $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
答案3
您可以使用临时隐藏文件将月份加载到变量中,并且它将保留在那里,直到会话结束或变量加载了其他内容。以下是可以从任何目录运行的示例脚本:
#!/bin/bash
month=$(date | cut -c 5-7)
echo $month
将返回Feb
。现在您有了一个包含月份的变量,您可以用它做任何您喜欢的事情。不要忘记在将来包含该-c
参数,以便 cut 知道从列中提取字符,而不是从字符串中提取字节。