这已经做了一百万次了,但是这次没用 我尝试从文件中 grep "$TITLE"。在命令行上它正在工作,“$TITLE”变量不为空,但是当我运行脚本时它什么也找不到
*标题包含一个以上的词
echo "$TITLE"
cat PAGE.$TEMP.2 | grep "$TITLE"
我尝试过的:
echo "cat PAGE.$TEMP.2 | grep $TITLE"
查看标题是否不为空以及文件名是否确实存在
最佳答案
你确定$TITLE
没有不在文件中的前导或尾随空格?您对字符串的修复会在执行前去除空格,因此它不会看到它。
例如,对于包含“第一行”的文件:
/home/user1> TITLE=' one '
/home/user1> grep "$TITLE" text.txt
/home/user1> cat text.txt | grep $TITLE
Line one
尝试 echo "<$TITLE>"
, 或 echo "$TITLE"|od -xc
这将使您能够发现错误的字符。
关于linux - BASH:可以在命令行上进行 grep,但不能在脚本中进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12297774/