我正在编写一个bash脚本,我循环遍历文件中的行。每一行看起来像
text ||| some more text ||| numbers
我想要做的是删除每一行的数字部分并保存新变量中的内容,以便我可以搜索它是否存在于另一个文件中。到目前为止我所拥有的是:
while read LINEPHTABLE1
do
echo "before delete"
echo "$LINEPHTABLE1"
echo "after delete"
echo "$LINEPHTABLE1" | sed -e 's/|||.*//g'
if grep -q "$LINEPHTABLE1" SORTEDPHRASETABLE2; then
#echo "found"
else
#echo "not found"
fi
done < SORTEDPHRASETABLE1
但是在第一次出现|||之后,它会丢弃所有内容。我还想将这个值保存在变量中而不是echo-ing中。有什么建议?谢谢!
答案 0 :(得分:2)
您可以通过
获取包含排除号码的字符串${LINEPHTABLE1% ||| *}
因此,或许根据您的问题,您可以:
echo "after delete"
LINEPHTABLE1=${LINEPHTABLE1% ||| *}
echo "${LINEPHTABLE1}"
if grep -q "$LINEPHTABLE1" SORTEDPHRASETABLE2; then
...