![](https://www.alaica.com/wp-content/uploads/linux-35.png)
我使用 date +'%D_%T' 将Unix 系统日期和时间存储在名为 $_now 的 shell 变量中:
_now=”$(日期+'%D_%T')”
echo $_now输出:
01/20/12_16:10:42
我想用 _ 替换 / 和 : 。我知道以下 sed 命令:
sed 's///_/g
> s/:/_/g' <<<"$_now"输出:
01_20_12_16_14_09
如何在同一个 sed 命令中指定要替换的两个模式 | 和 : 与 _ 以便我可以获得输出 01_20_12_16_10_42?
您可以使用以下任何一种 sed 替代查找和替换多个模式:
sed -e 's/查找/替换/g' -e 's/查找/替换/g' <<< " $var " sed -e 's/查找/替换/g' -e 's/查找/替换/g' <输入文件>输出文件 out =$ ( sed -e 's/Find/Replace/g' -e 's/Find/Replace/g' <<< " $var " )
或者
sed 's/查找/替换/g;s/查找/替换/g' <<< " $var " sed -e 's/查找/替换/g;s/查找/替换/g' <<< " $ var " sed -e 's/查找/替换/g;s/查找/替换/g' < inputFile >输出文件 out =$ ( sed -e 's/查找/替换/g;s/查找/替换/g' <<< “ $var ” )
示例:使用单一命令行查找并替换 Sed Substitute
_now = " $(sed -e 's///_/g;s/:/_/g' <<<$(date +'%D_%T') ) " echo $_now
输出示例:
01_20_12_16_22_21
这是另一个版本:
_now =$ ( sed 's/[/:]/_/g' <<< $ (日期+ '%D_%T' ) ) echo " $_now "
输出示例:
01_20_12_16_24_42