我在修改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 'somethingbb' >> refreshed.txt"
和
fswatch -o watched.txt | xargs -n1 sh -c "echo 'something' >> refreshed.txt && sed -ie '$d' refreshed.txt"
,但似乎都没有达到预期的效果。
sed不运行,因为当您喂食 "
引用脚本为 sh
时,$ d被用一个空字符串替换:
sed -ie '' refreshed.txt.
您应该逃脱$
,以避免:
sed -ie '$d' refreshed.txt
请注意,添加一条线然后立即将其删除,几乎等同于简单地更新其修改时间戳,因此您可能需要让它入睡,以使更改检测系统捕获。