我有一些测试输出,看起来像
PASS: tests/test_mutex_rmw
PASS: tests/test_mutex_trylock
PASS: tests/test_malloc_irreg
FAIL: tests/ARMCI_PutS_latency
FAIL: tests/ARMCI_AccS_latency
PASS: tests/test_groups
PASS: tests/test_group_split
PASS: tests/test_malloc_group
FAIL: tests/test_accs
FAIL: tests/test_accs_dla
Run Code Online (Sandbox Code Playgroud)
我想过滤输出以仅查看失败。只需从屏幕复制文本并粘贴到 stdin 中以传递到 grep 会很方便,例如
grep FAIL
Run Code Online (Sandbox Code Playgroud)
和 Shift-Ctrl-V(或鼠标中键)复制文本。
我想看到的只是
FAIL: tests/ARMCI_PutS_latency
FAIL: tests/ARMCI_AccS_latency
FAIL: tests/test_accs
FAIL: tests/test_accs_dla
Run Code Online (Sandbox Code Playgroud)
但相反,粘贴的输入会显示在屏幕上,并且由于缓冲,输入会与最终输出混合:
$ grep FAIL
PASS: tests/test_mutex_rmw
PASS: tests/test_mutex_trylock
PASS: tests/test_malloc_irreg
FAIL: tests/ARMCI_PutS_latency
FAIL: tests/ARMCI_AccS_latency
PASS: tests/test_groups
PASS: tests/test_group_split
PASS: tests/test_malloc_group
FAIL: teFAIL: tests/ARMCI_PutS_latency
sts/test_accs
FAIL: tests/test_accs_dla
FAIL: tests/ARMCI_AccS_latency
FAIL: tests/test_accs
FAIL: tests/test_accs_dla
Run Code Online (Sandbox Code Playgroud)
对我来说,首先将输入提供给 cat 然后传递给 grep, 是有意义的cat | grep FAIL …