我编写了一个 shell 脚本来解析一些文件,grep
并在后续命令中使用结果。
源代码的相关部分是
VERSION=`grep "^Stable tag:" readme.md | awk -F' ' '{print $NF}'`
echo $VERSION
echo "Readme file version is $VERSION is it correct"
readme.md 文件中的相关行是
Stable tag: 2.2.2
你会期望输出
2.2.2
Readme file version is 2.2.2 is it correct
但我得到以下输出
2.2.2
is it correctrsion is 2.2.2
我很确定在我的文本文件的行尾没有(不可打印或非 ascii)字符。:set invlist
我通过在 vim 中启用命令来检查它。
知道为什么会这样吗?或任何其他想法来调试此问题?