Shell 使用分隔符获取字符串

Shell 使用分隔符获取字符串,shell,Shell,我试图用这个分隔符从.txt文件中获取字符串和此命令: grep -i "${tableIn}" "${READ_FILE}" | cut -d ';' -f1 例如:.txt文件包含这一行 hello;goodbye;see 但是当查找字符串“o”时,结果完全是“hello”。如何获取特定字符串?当.txt中的表\u是包含所有搜索字符串的文件,并且读取.txt是要与第一个字段匹配的文件时,请尝试 cut -d ";" -f1 read.txt > read.tmp.txt grep

我试图用这个分隔符
从.txt文件中获取字符串和此命令:

grep -i "${tableIn}" "${READ_FILE}" | cut -d ';' -f1
例如:.txt文件包含这一行

hello;goodbye;see

但是当查找字符串“o”时,结果完全是“hello”。如何获取特定字符串?

当.txt中的
表\u
是包含所有搜索字符串的文件,并且
读取.txt
是要与第一个字段匹配的文件时,请尝试

cut -d ";" -f1 read.txt > read.tmp.txt
grep -of table_in.txt read.tmp.txt
进程替换不需要临时文件:

grep -of table_in.txt <(cut -d ";" -f1 read.txt)

grep-of table_in.txt这是哪个shell?这可能是相关的。将
-o
参数添加到
grep
中。变量的值是什么?你能更清楚地解释一下你想做什么吗?听起来你现在只需要
grep-o'o'file.txt
;然后将其与用户输入的另一个字符串进行比较。
hello
bye
都包含
'o'
-您是否总是希望取第一个字符串并忽略其余的匹配项?