在 java 字符串中跳过竖线字符

Pipe character is being skipped in java string

我有一个 java 架构,它接受 linux 命令作为字符串,在远程 linux 机器上 运行 和 returns 输出。

作为字符串的命令适用于这些单个命令,例如

cat filename
grep <string> filename

但是当我用管道传递命令时,命令没有正确执行,例如这个

cat filename | grep string

命令作为 java 字符串发送。我尝试用 \ 进行管道传输(像这样 \| )但没有成功。

任何可能的解决方案?

Ps:架构returns输出为字符串文件。 在我说命令不起作用的情况下,我看到空字符串作为输出

管道字符是一个 "shell thing" - 永远不会在单个进程执行的命令中工作。

考虑将第一个命令的输出流连接到第二个命令的单独进程的输入流。