2015-03-02 44 views
0

我有许多同时执行的脚本shell,并且他们在同一个文件上创建sed。因此,sed命令可能会同时在同一个文件上执行。我应该对同一个文件上的并行sed执行进行竞争条件检查吗?

我应该在同一个文件上对并行sed执行进行竞争条件检查吗?

+3

你的意思是就地编辑还是只使用相同的文件作为几个并发sed命令的输入? – Wintermute 2015-03-02 11:08:28

+0

也取决于sed动作。例如,如果它添加信息,独立于其他行(或者如果未找到)可以使用并行而不锁定。事实上,它主要取决于想要的修改,因为它的可能性非常大 – NeronLeVelu 2015-03-02 13:00:00

+0

@Wintermute'sed'命令正在用'-i' ==>编辑文件==>删除行 – MOHAMED 2015-03-02 14:08:16

回答

1

这取决于。这些是sed编辑文件的一些处理方式(例如,gnu-sed的-i选项),您是否期望一致,可靠的输出?如果是这样,那么是的,你需要一个锁。请注意,sed -i确实不是修改您正在处理的文件;它会创建一个临时文件并对其进行重命名,这会影响您对比赛条件的分析。如果你的脚本没有修改文件,那么没有竞争条件,也不需要锁定。

+0

'sed'命令正在用' - 我'==>删除线 – MOHAMED 2015-03-02 14:07:37