![根据日期将行保存到不同的文件](https://linux22.com/image/55156/%E6%A0%B9%E6%8D%AE%E6%97%A5%E6%9C%9F%E5%B0%86%E8%A1%8C%E4%BF%9D%E5%AD%98%E5%88%B0%E4%B8%8D%E5%90%8C%E7%9A%84%E6%96%87%E4%BB%B6.png)
我怎样才能每次都强制重新评估呢?
cat > $(date '+%H-%M-%S').log
这样,当我第一次输出某些内容时,它会被写入一个文件,几秒钟后我会进行另一个输出,并将其保存在一个新文件中。
cat
只是象征着一个始终运行的程序
答案1
我cat
用每秒发出一行的 for 循环替换:
for ch in {a..e} ; do echo $ch ; sleep 1 ; done | \
while IFS= read -r line ; do printf '%s\n' "$line" >> $(date +%H-%M-%S) ; done
我用的>>
是>
if 一秒钟内有多于一行。您可能需要添加月份+日期,以免混合不同日期的输出。