2015-03-02 21 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