Shell Cat命令由文件结尾分隔
我有剧本Shell Cat命令由文件结尾分隔,shell,unix,Shell,Unix,我有剧本 #!/bin/bash set i=0; while read line do echo "$line"; $i < cat "my.log" | grep -w "$line" | wc -l; echo "$i"; if [ "$i" == 0 ]; then cat $line << "notfound.txt" fi i=0; done < "test.txt" 我的目标是测试变量i的值。如果它是0,那么我想将存储在变量$l
#!/bin/bash
set i=0;
while read line
do
echo "$line";
$i < cat "my.log" | grep -w "$line" | wc -l;
echo "$i";
if [ "$i" == 0 ]; then
cat $line << "notfound.txt"
fi
i=0;
done < "test.txt"
我的目标是测试变量i的值。如果它是0,那么我想将存储在变量$line中的值重定向到文件“notfound.txt”而不是
cat $line << "notfound.txt"
您没有cat
变量,而是echo
这些变量<代码>命令>文件会将命令的输出重定向到文件,并覆盖该文件。如果要附加该文件,请改用>
您可以了解有关重定向的更多信息。谢谢。我刚刚用>>替换了>,因为我需要将值附加到现有文件中。只要stackoverlow允许我:-)与您所述的问题无关,我就会接受您的答案,但是
$I
很可能是个问题-I
是一个初始值为0
的变量,并且永远不会被更改(尽管它被重新分配),因此将扩展到0
。除非您的系统有一个名为0
的命令,否则这可能会失败。。。
cat $line << "notfound.txt"
echo $line > "notfound.txt"