Sed

如何用空格替換?

  • June 22, 2020

原因在這裡解釋。我想用句點加上換行符加上空格替換句點和空格(例如.\tor .\n)(即將範例字元串更改為.\n\tor .\n\n,resp。)。

這可以在 bash/Linux 中有效地完成嗎?

(我知道基本的 sed,但不足以處理這樣的模式。)

您可以在 GNU 中使用分組sed

sed -E 's/\.(\s)/.\n\1/g' file

()當我們稍後想要使用匹配的正則表達式的一部分時,會使用分組。

將訂購組,您可以通過它的編號來引用它們,例如在這裡我們有\1

  • -E啟用擴展正則表達式以避免轉義()

sed:

sed -E 's/\.([[:space:]]|$)/.\
\1/g'

使用 GNU sed

sed -E 's/\.(\s|$)/.\n\1/g'

引用自:https://unix.stackexchange.com/questions/588989