Linux 日期时间转换:使用正则表达式提取并转换为 AM/PM 格式
使用 Linux 命令和正则表达式将日期时间转换为 AM/PM 格式
本教程将引导您完成使用 Linux 的 sed 命令和正则表达式来解析 date 命令输出、提取时间并将其转换为 AM/PM 格式的过程。
脚本示例
以下 bash 脚本演示了如何实现此目标:bash#!/bin/bash
运行 date 命令并将输出存储在变量中output=$(date)
使用 sed 提取时间并将其转换为 AM/PM 格式time=$(echo $output | sed -n 's/.* ([0-9]{2}:[0-9]{2}:[0-9]{2}) .*/\1/p')ampm=$(date -d '${time}' +'%I:%M:%S %p')
打印转换后的时间echo '原始时间: $time'echo '转换后的时间: $ampm'
使用方法
- 将上述代码保存到名为
convert_time.sh的文件中。2. 在 Linux 终端中打开文件所在目录。3. 通过运行以下命令使脚本可执行:bash chmod +x convert_time.sh4. 运行脚本:bash bash convert_time.sh
解释
- 该脚本首先运行
date命令并将输出存储在output变量中。* 然后,它使用sed命令和正则表达式从输出中提取时间部分。正则表达式's/.* \([0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}\) .*/\1/p'查找两个空格之间、由冒号分隔的两位数字,并捕获该部分(时间)。* 最后,脚本使用date -d命令将提取的时间转换为 AM/PM 格式 (%I:%M:%S %p),并将结果存储在ampm变量中。* 最后,脚本打印原始时间和转换后的时间。
总结
这个简单的例子展示了如何利用 Linux 命令和正则表达式来自动化日期和时间操作。通过理解 sed 命令和正则表达式,您可以创建更复杂和强大的脚本来满足您的特定需求。
原文地址: https://www.cveoy.top/t/topic/bFOP 著作权归作者所有。请勿转载和采集!