gpt4 book ai didi

bash - 在 bash 时间内置输出之前放置任意内容

转载 作者:行者123 更新时间:2023-11-29 09:27:56 26 4
gpt4 key购买 nike

我有以下 bash 脚本:

#!/bin/bash

printColored(){
echo -e "\e[0;"$2"m \t"$1" \e[0;37m"
}

printColored "Executing query with usual tables." 34
time hive -f query1.sql
printColored "Executing query with RCFile tables." 34
time hive -f query2.sql

它给了我以下输出:

    Executing query with usual tables. 
...
a lot of output of hive command
...
real 1m8.928s
user 0m36.283s
sys 0m2.157s
Executing query with RCFile tables.
...
hive output again
...
real 1m9.376s
user 0m37.186s
sys 0m2.168s

如果我需要所有 hive 输出 before echo 和时间输出 after它?IE。输出必须按以下顺序:

...hive 1...
...hive 2...
Executing query with usual tables.
real 1m8.928s
user 0m36.283s
sys 0m2.157s
Executing query with RCFile tables.
real 1m9.376s
user 0m37.186s
sys 0m2.168s

如果这是不可能的,我该如何消除 hive 输出?

最佳答案

bash 的time 命令的输出可以用TIMEFORMAT shell 变量控制。要将您想要的消息包含在通常的时间信息中:

TIMEFORMAT=$'\nExecuting query with usual tables\nreal\t%3lR\nuser\t%3lU\nsys%3lS'
time hive -f query1.sql
TIMEFORMAT=$'\nExecuting query with RCFile tables\nreal\t%3lR\nuser\t%3lU\nsys%3lS'
time hive -f query2.sql
unset TIMEFORMAT

关于bash - 在 bash 时间内置输出之前放置任意内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29736002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com