相关疑难解决方法(0)

如何比较两个unix命令的输出以找出差异?

我不想创建新文件.我想完成类似的事情:

cmd1 > a
cmd2 > b
cat a b b | sort | uniq -u
Run Code Online (Sandbox Code Playgroud)

但不使用文件a和b.

unix

13
推荐指数
1
解决办法
4710
查看次数

如何将命令的输出重定向到 diff

我正在尝试编写一个循环,但这不起作用:

for t in `ls $TESTS_PATH1/cmd*.in` ; do
  diff $t.out <($parser_test `cat $t`)
  # Print result
  if [[ $? -eq 0 ]] ; then
    printf "$t ** TEST PASSED **"
  else
    printf "$t ** TEST FAILED **"
  fi
done
Run Code Online (Sandbox Code Playgroud)

这也没有帮助:

$parser_test `cat $t` | $DIFF $t.out -
Run Code Online (Sandbox Code Playgroud)

Diff 显示输出不同(很奇怪,我看到所需错误行的输出,因为它被打印到 stdout,并且没有被 diff 捕获),但是当使用临时文件运行时,一切正常:

for t in `ls $TESTS_PATH1/cmd*.in` ; do
  # Compare output with template
  $parser_test `cat $t` 1> $TMP_FILE 2> $TMP_FILE
  diff $TMP_FILE $t.out
  # Print result
  if [[ $? …
Run Code Online (Sandbox Code Playgroud)

testing bash diff

1
推荐指数
1
解决办法
3499
查看次数

标签 统计

bash ×1

diff ×1

testing ×1

unix ×1