运行Raspbian,我有一个应用程序,其输出是纯文本到本地文件。我即将编写一个bash脚本(欢迎替代方案!),每天将文件附加到远程共享上,然后删除当前文件以进行下一步处理。
尝试过简单的解决方案:
> radio.csv
truncate -s 1 radio.csv
echo -n > radio.csv
dd if=/dev/null of=radio.csv bs=1 seek=1440
没有运气。一旦新记录加起来,文件就会恢复到原始大小,如torek所述,https://stackoverflow.com/a/17037187/4467514
rm radio.csv ; touch radio.csv
既不起作用,因为它似乎破坏了采购软件并且不再提供任何数据。
依靠外部硬件打开和关闭原始软件,从长远来看都不会起作用。
**经过漫长而漫长的研究......将输出管道输入到vim中,然后从中省略?它可能更稳定,谁知道?
*****更新以便更好地理解......
奇怪的行为列表文件,丢弃文件,等待一点,神秘地将其大小恢复原状。请注意ls -la和ls -s之间的区别...文件得到真的被截断,只有表观尺寸保持原始......太奇怪了!
pi@tower /media/data $ ls -la radio.csv ;ls -s radio.csv;truncate radio.csv -s 1; ls -la radio.csv ;ls -s radio.csv
-rw-r--r-- 1 pi pi 994277 Jan 18 21:32 radio.csv
252 radio.csv
-rw-r--r-- 1 pi pi 1 Jan 18 21:32 radio.csv
0 radio.csv
[虽然,几秒钟后]
pi@tower /media/data $ ls -la radio.csv ;ls -s radio.csv
-rw-r--r-- 1 pi pi 1011130 Jan 18 21:32 radio.csv
24 radio.csv