在 Linux 中,如何从 bash shell 打印文件的内容并从文件中删除刚刚打印的内容?
我有一个程序反复将文本写入文件。在 Linux shell 提示符下,我想打印文件的内容,然后从文件中删除打印的内容。我想重复执行此操作,以使文件大小足够小。
我们有 bash 命令行或组合来做到这一点吗?
答案1
我想打印文件的内容,然后从文件中删除打印的内容
lpr file && truncate -s0 file
答案2
对于常规文件,您可以执行以下操作:
while [ -s /path/to/file ] &&
exec </path to file
do dd bs=1k count=1
dd bs=1k of=/path/to/file
done