[sed] 在匹配前插入空行
假設在某個目錄下,有許多副檔名為 .rst 的檔案, 若檔案裡某一行開頭為 :adsu ,則在此行前插入空行。
舉例來說,假設檔案內容如下:
hello
world
:adsu
你好
世界
經過 sed 處理後,變成如下:
hello
world
:adsu
你好
世界
#!/bin/bash
rstdir=content/articles/
for path in $(find $rstdir -type f -name "*.rst")
do
sed -i '0,/:adsu/s/:adsu/\n&/' $path
done
References:
[1] | linux - Command to insert lines before first match - Stack Overflow |
[2] | [Bash] Find Redundant Files Saved by Chrome |