我怎样才能以这种方式使用通讯?

我怎样才能以这种方式使用通讯?

根据我的理解,我想使用comm -23 file1 file2. file1 是 的结果find,file2 是cut -c43- list.我是否可以将其写为 1 行而不使用任何文件(除了我命名的列表)?

答案1

进程替换是你的朋友:

$ comm -23 <(find /dir -name 'something') <(cut -c43- list)

该格式<(command)将临时文件描述符应用于command整个<( )文件comm(或任何其他命令)。
有关流程替换的更多信息请参见此处。另请检查man bash

进程替换
进程替换允许使用文件名引用进程的输入或输出。它采用<(列表)或>(列表)的形式。进程列表异步运行,其输入或输出显示为文件名。该文件名作为扩展结果作为参数传递给当前命令。如果使用 >(list) 形式,写入文件将为列表提供输入。如果使用 <(list) 形式,则应读取作为参数传递的文件以获得 list 的输出。支持命名管道 (FIFO) 或 /dev/fd 命名打开文件方法的系统支持进程替换。

相关内容