fswatch写然后删除

时间:2017-09-06 20:33:49

标签: bash unix fswatch

我在修改fswatch时使用refreshed.txt刷新watched.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"

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

1 个答案:

答案 0 :(得分:1)

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

sed -ie '' refreshed.txt.

你应该逃避$,以避免:

sed -ie '\$d' refreshed.txt 

请注意,添加一行然后立即将其删除, 几乎就是简单地更新它的修改时间戳,所以你可能想让它睡一会儿,让变化检测系统能够流行起来。