gpt4 book ai didi

bash - while 循环中的文件复制仅执行一次

转载 作者:行者123 更新时间:2023-11-29 09:15:03 24 4
gpt4 key购买 nike

我正在使用条件检查检查日志并复制到另一个文件夹。while 循环在第一次迭代时执行良好。在下一次迭代中,文件副本不起作用。这是我的代码。

current_time=$(date "+%Y.%m.%d-%H.%M.%S")
tail -n 0 -F hive-server2.log | \
while read LINE
do
if [ `echo "$LINE" | grep -c "DROP" ` -gt 0 ]
then
AuditTypeID=14
QueryResult="$(grep -oEi 'DROP TABLE [a-zA-Z][a-zA-Z0-9_]*' hive-server2.log | sed -n \$p)"
echo -e "$QueryResult" >/dev/null < op.txt
cp op.txt op/op.txt.$current_time
fi
done

在第一次迭代中,输出文件被创建并存储在 op 目录中。在下一次迭代中,文件不会创建。

预期输出:每次迭代都应在 op 目录中创建新文件。

我们将不胜感激。

最佳答案

希望对您有所帮助。

tail -n 0 -F hive-server2.log | \
while read LINE
do
if [ `echo "$LINE" | grep -c "DROP" ` -gt 0 ]
then
current_time=$(date "+%Y.%m.%d-%H.%M.%S")
AuditTypeID=14
QueryResult="$(grep -oEi 'DROP TABLE [a-zA-Z][a-zA-Z0-9_]*' hive-server2.log | sed -n \$p)"
echo -e "$QueryResult" > op/op.txt.$current_time > /dev/null 2>&1
#cp op.txt op/op.txt.$current_time
fi
done

关于bash - while 循环中的文件复制仅执行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49605847/

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