linux - 如何在 bash 中创建一个附加到另一个文件的伪文件

标签 linux bash shell

我有一个关闭的程序(即 Intersystems 'csession' Cachédb 终端),它将写入作为参数给定的文件。它这样做了几次,然后返回。每次,给定的文件都被覆盖,所以最后,我只得到最后的结果......

我的想法是,可以采用欺骗手段并提供一个特殊的伪文件作为参数,该伪文件将充当代理并将写入的内容附加到另一个文件中。

create proxyfile as >> realfile
cat "Hello" > proxyfile
cat "Bye" > proxyfile
cat realfile
Hello
Bye

有没有人认为这可能是可行的,可能需要使用一些实用程序?

最佳答案

为此,您可以使用 FIFO 文件(命名管道)。要查看它们是如何工作的,请打开两个终端窗口。一方面,做

cd /tmp
mkfifo pipe
tail -f pipe

在另一个

cd /tmp
echo "Hello" > pipe
echo "Bye" > pipe

对于实际问题,让您的应用程序写入 FIFO 并在后台使用 tail -f pipe > outputfile 将结果收集到 outputfile

关于linux - 如何在 bash 中创建一个附加到另一个文件的伪文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13567183/

相关文章:

linux - 如何从模板转换字符串?

linux - 如何从目录中的文件名中保存多个 IP 地址?

linux - 相同变音符号(变音符号)的不同 UTF-8 签名 - 2 种二进制方式来编写变音符号

json - 使用 Unix 工具解析 JSON

bash - 使用 join 对日志文件进行排序

ruby - 使用交换时进程退出时出现 Errno::ENOMEM

c++ - 如何使用 recvfrom 获取 AF_INET6 套接字的地址

c++ - QT 程序包含带有 if-test-then block 的 bash 脚本以及内部问题错误中转义的必要引号

bash - 查找文件之一中不存在字符串的子目录

php - PHP 中 Wget 的问题