我知道>
和>>
,但无法捕获以下代码的输出。
我有3个文件,我想使用CAT
逐个打开文件。
如果找到GREP
其他PASS
,我会使用FAIL
搜索特定的字符串/消息。
代码正在运行,但无法在文件中获得输出。
XXXXXXXXXX/XXX/XXX/postprocessing$ ls
demo.txt tag.txt tc1_adblog.txt tc2_adblog.txt tc3_adblog.txt
XXXXXXXXXX/XXX/XXX/postprocessing$ cat tc1_adblog.txt | grep 'ActivityRecord{4306a670 u0 com.example.android.notepad/.NotesList t9}' && echo "Test case 1: Pass" || echo "Test case 1: FAIL" >> result.txt
I/Timeline( 1002): Timeline: Activity_windows_visible id: ActivityRecord{4306a670 u0 com.example.android.notepad/.NotesList t9} time:12020671
Test case 1: Pass
XXXXXXXXXX/XXX/XXX/postprocessing$ ls
demo.txt tag.txt tc1_adblog.txt tc2_adblog.txt tc3_adblog.txt
答案 0 :(得分:0)
>> result.txt
仅在echo
之后应用于||
。您需要将整个命令分组如下:
s='ActivityRecord{4306a670 u0 com.example.android.notepad/.NotesList t9}'
{ grep -qF "$s" tc1_adblog.txt && echo "Test case 1: Pass" || echo "Test case 1: FAIL"; } >> result.txt
grep -F
匹配固定字符串grep -q
来避免grep
的输出cat
答案 1 :(得分:0)
&& echo "Pass" >> result.txt || echo "Fail" >> result.txt
(grep "string" && echo "Pass" || echo "Fail") >> result.txt