当fswatch被修改时,我使用watched.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"但两者似乎都没有达到预期的效果。
发布于 2017-09-06 21:42:55
sed不运行,因为当您将"引号脚本提供给sh时,$d将被替换为空字符串:
sed -ie '' refreshed.txt.为了避免这种情况,您应该避开$:
sed -ie '\$d' refreshed.txt 请注意,添加一行,然后立即删除它,就相当于简单地更新它的修改时间戳,所以您可能想让它睡一会儿,这样变化检测系统才会流行起来。
https://stackoverflow.com/questions/46083893
复制相似问题