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
似乎同时包含 telecomtest
和 tel
。由于您没有向我们展示 $arr
是如何分配的,因此其他一切都是猜测。您是否在此处删除了太多 post 的脚本?还缺少一个 fi
来使这个有效的 shell 语法。
请为我们提供一个最小的可运行脚本,包括 file.txt
的一些精简内容,以便我们能够重现该问题。通常这会立即发现问题。
代码:
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
似乎同时包含 telecomtest
和 tel
。由于您没有向我们展示 $arr
是如何分配的,因此其他一切都是猜测。您是否在此处删除了太多 post 的脚本?还缺少一个 fi
来使这个有效的 shell 语法。
请为我们提供一个最小的可运行脚本,包括 file.txt
的一些精简内容,以便我们能够重现该问题。通常这会立即发现问题。