将时间拆分为小时值、分钟值和秒
Split a time into hours value, minutes value, and seconds
我有一个包含 00:00:46
的文件,我需要使用 sed
或 Awk 使 00、00 和 46 成为它们自己的变量,以便与 date +"%H"
、date +"%M"
和 date +"%S"
。我该怎么做?
(我正在使用对话框实用程序的时间框显示,它将数据发送到 tmp 文件以读取为:00:00:00(不是零)并且我发现没有办法分离这些输入,除了 sed
.)
您可以使用 shell 的内置令牌拆分。设置 IFS
为您想要的分隔符,然后 set $value
将 $value
中的字符串拆分为 </code>、<code>
等
# Split
value='00:45:33'
oldIFS=$IFS
IFS=':'
set -- $value
IFS=$oldIFS
# Reap
echo hours:
echo minutes:
echo seconds:
这是一个awk
hour=$(echo "00:00:46" | awk -F: '{print }')
minutes=$(echo "00:00:46" | awk -F: '{print }')
second=$(echo "00:00:46" | awk -F: '{print }')
echo "$second"
46
我有一个包含 00:00:46
的文件,我需要使用 sed
或 Awk 使 00、00 和 46 成为它们自己的变量,以便与 date +"%H"
、date +"%M"
和 date +"%S"
。我该怎么做?
(我正在使用对话框实用程序的时间框显示,它将数据发送到 tmp 文件以读取为:00:00:00(不是零)并且我发现没有办法分离这些输入,除了 sed
.)
您可以使用 shell 的内置令牌拆分。设置 IFS
为您想要的分隔符,然后 set $value
将 $value
中的字符串拆分为 </code>、<code>
等
# Split
value='00:45:33'
oldIFS=$IFS
IFS=':'
set -- $value
IFS=$oldIFS
# Reap
echo hours:
echo minutes:
echo seconds:
这是一个awk
hour=$(echo "00:00:46" | awk -F: '{print }')
minutes=$(echo "00:00:46" | awk -F: '{print }')
second=$(echo "00:00:46" | awk -F: '{print }')
echo "$second"
46