Bash shell 字符串包含打印全字

Bash shell string contains print full word

代码:

READLINE=$(sudo /bin/cat < "file.txt");
IFS=$';'
for i in $READLINE;
do
txt=$txt" ""$i";
done
unset IFS

for x in $arr
do
if [[ $txt == *$x* ]] ; then
echo "$x is in the txt file";

输出file.txt

telecomtest;yess;

循环输出:

telecomtest is in the txt file
tel is in the txt file

我只想打印整个单词而不是它的一部分。
这意味着只打印 telecomtest 而不是 tel.

我怎样才能完成这项工作?

您的 $arr 似乎同时包含 telecomtesttel。由于您没有向我们展示 $arr 是如何分配的,因此其他一切都是猜测。您是否在此处删除了太多 post 的脚本?还缺少一个 fi 来使这个有效的 shell 语法。

请为我们提供一个最小的可运行脚本,包括 file.txt 的一些精简内容,以便我们能够重现该问题。通常这会立即发现问题。