在批处理脚本中将`grep“字符串”| wc -l`分配给变量

时间:2012-10-04 11:21:18

标签: if-statement grep batch-file wc

我正在尝试开发以下unix脚本的批量等效(windows)代码: -

i=`grep "ora-error" *.txt|wc -l`
if [ i -gt 0 ]; then
echo "true"
else
echo "false"
fi

尝试使用“find / c”ora-error“* .txt”,但无法将o / p输入变量并将其重定向到if条件......

即。当我使用“find / c”ora-error“* .txt”时,输出

---------- xx.TXT:0

---------- yy.TXT:0

---------- zz.TXT:0

我想取计数并将valur重定向到IF条件。

我需要一个窗口脚本来解决这个问题。

任何人都可以帮忙......

提前致谢..

关于

SREE

Guys制定了一个解决方案......

find /c "ora-error" *.txt>TEST1.txt
find /c "0" TEST1.TXT>TEST2.TXT
FOR /F "TOKENS=1* DELIMS=:" %%A IN (TEST2.TXT) DO SET a=%%B
set _count=%a%
IF %_count% EQU 4 goto matched
IF not %_count% EQU 4 goto notmatched

:matched
echo we are in equal to 4 loop
pause
exit

:notmatched
echo we are in not equal to 4 loop
pause
exit

1 个答案:

答案 0 :(得分:0)

grep "ora-error" *.txt>/dev/null
if [ $? -eq 0 ]; then
echo "true"
else
echo "false"
fi