【问题标题】:fswatch write then deletefswatch 写入然后删除
【发布时间】:2017-09-06 20:33:48
【问题描述】:

watched.txt被修改时,我正在使用fswatch刷新refreshed.txt。目前,something 附加到refreshed.txt

 fswatch -o watched.txt | xargs -n1 sh -c "echo 'something' >> refreshed.txt"

但是,我想写something然后删除它。

我试过了:

fswatch -o watched.txt | xargs -n1 sh -c "echo 'something\b\b' >> refreshed.txt"

fswatch -o watched.txt | xargs -n1 sh -c "echo 'something' >> refreshed.txt && sed -ie '$d' refreshed.txt"

但似乎都没有达到预期的效果。

【问题讨论】:

  • 我不明白你想要达到什么目的。什么想要的效果?只是为了更新refreshed.txt 的最后修改日期/时间?
  • @RuudHelderman 我认为基本上是的。 refreshed.txt 文件正在被 react-native 监视以进行热重新加载,因此当它被修改时,应用程序会重新加载。但是,必须手动删除第一种方法给出的所有换行符很痛苦,所以只是想看看是否有更好的方法。
  • 只需 touch 您的 refreshed.txt 文件:touch refreshed.txt 即可更新其修改时间戳。
  • @ColinRicardo sed 没有运行,因为当您将 " 引用的脚本提供给 sh 时,$d 被替换为空字符串:sed -ie '' refreshed.txt

标签: bash unix fswatch


【解决方案1】:

sed 没有运行,因为当您将 " 引用的脚本提供给 sh 时,$d 被替换为空字符串:

sed -ie '' refreshed.txt.

你应该逃避$,以避免这种情况:

sed -ie '\$d' refreshed.txt 

注意添加一行然后立即删除它, 几乎等同于简单地更新它的修改时间戳,所以你可能想让它休眠一段时间,以便更改检测系统赶上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-21
    • 2010-10-19
    • 2021-03-25
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多