首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将两个命令合并成一个命令?

如何将两个命令合并成一个命令?
EN

Unix & Linux用户
提问于 2019-02-11 21:53:25
回答 2查看 889关注 0票数 1

命令1:echo "11-FEB-19 06.14.52.352000000 AM" | cut -d' ' -f1,2 | sed 's/\./:/g' |cut -d: -f1-3

命令2:date -d "OUTPUT COMMAND1" +'%s'

预期:- echo "11-FEB-19 06.14.52.352000000 AM" | cut -d' ' -f1,2 | sed 's/\./:/g' |cut -d: -f1-3 | date -d "XXX" +'%s'

我需要prev命令(cut -d: -f1-3)的输出,并把它放在XXX中。

EN

回答 2

Unix & Linux用户

发布于 2019-02-11 22:45:28

管道cmd1 | cmd2将第一个命令的输出发送到第二个命令的标准输入。您似乎想要的是将第一个命令的输出放在第二个命令行上。这样做的方法是命令替换$(command)

这将把cmd1的输出放在cmd2的命令行上:

代码语言:javascript
复制
cmd1 "$(cmd2)"

或者,在你的情况下:

代码语言:javascript
复制
date -d "$(echo ... |cut)" +%s 
票数 2
EN

Unix & Linux用户

发布于 2019-02-11 23:31:38

为了提高可读性,我仍然会使用多行:

代码语言:javascript
复制
datetime=$( echo "11-FEB-19 06.14.52.352000000 AM" | sed -e 's/\./:/g' -e 's/:[^:]\+$//' )
epoch=$( date -d "$datetime" +%s )
echo "$epoch"
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/500045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档