我有一个包含00:00:46
的文件,我需要使用sed
或Awk将00,00和46自己的变量与date +"%H"
进行比较,{{1 }和date +"%M"
。我该怎么做?
(我正在使用对话框实用程序的时间框显示,将数据发送到tmp文件,读取为:00:00:00(不是零),我发现除了{{{}之外我无法分离这些输入1}}。)
答案 0 :(得分:2)
您可以使用shell的内置令牌拆分。将IFS
设置为您想要的分隔符,然后set $value
将$value
中的字符串拆分为$1
,$2
等。
# Split
value='00:45:33'
oldIFS=$IFS
IFS=':'
set -- $value
IFS=$oldIFS
# Reap
echo hours: $1
echo minutes: $2
echo seconds: $3
答案 1 :(得分:0)
这是awk
hour=$(echo "00:00:46" | awk -F: '{print $1}')
minutes=$(echo "00:00:46" | awk -F: '{print $2}')
second=$(echo "00:00:46" | awk -F: '{print $3}')
echo "$second"
46