0

我用来在修改时fswatch刷新。目前,附加到.refreshed.txtwatched.txtsomethingrefreshed.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"

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

4

1 回答 1

1

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

sed -ie '' refreshed.txt.

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

sed -ie '\$d' refreshed.txt 

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

于 2017-09-06T21:42:55.580 回答