gpt4 book ai didi

linux - 读取输入文件时出错 : Key has expired

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:59 24 4
gpt4 key购买 nike

我目前正在制作一个 bash 脚本。这个脚本的目的并不重要。但是,我有一段代码会产生错误。错误如下:

./script.bs: line 175: read: read error: 0: Key has expired
./script.bs: error reading input file: Key has expired

我有下面第 175-189 行的代码。

这段特定的代码执行以下操作:-读取一个包含目标文件列表的 txt 文件。-对于每个目标文件,读取每一行。如果该行包含在 $NumbersFile 中,它什么也不做。如果该行不包含在 $NumbersFile 中,它将将该行添加到 NumbersFile。

这段通用代码有效,并向 $NumbersFile 添加了 65810 行内容。然而,它出现了我上面提到的错误。

我想补充一点,第 175 行(发生错误的地方)的 while 循环应该从给定文件中读取大约 70'000 行。

如何修复此错误,以便我的脚本可以在没有 key 过期错误的情况下完成运行?

NumbersFile="numbers.txt";
while read line; do

while read gramline; do
has="0";
if grep -Fq -- "$gramline" "$NumbersFile"; then
has="1";
fi
if [ "$has" -eq "0" ]; then
echo "$gramline" >> $NumbersFile;
fi
done < "$line";
done < "targetsfile.txt";

最佳答案

如果我的评论是准确的,也许这可能会更快:

{ cat targetsfile.txt; xargs cat < targetsfile.txt; } | sort -u > numbers.txt

或澄清:

xargs cat < targetsfile.txt | sort -u > numbers.txt

注意事项:

  • 大括号只是将 cat 和 xargs 命令组合在一起,以便可以将组合的输出通过管道传输到 sort 中。 .记录在手册中 3.2.4.3 Grouping Commands
  • 第一个cat输出“targetsfile.txt”文件的内容
  • xargs cat < targetsfile.txt构造将执行 cat目标文件中列出的每个文件的命令。这是一种非常简洁高效的执行方式

    while IFS= read -r line; do cat "$line"; done < targetsfile.txt

关于linux - 读取输入文件时出错 : Key has expired,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56672544/

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