Bash:用字符串替换空行

Daw*_*wid 3 bash

如何替换文本文件中的空行,假设该文件是:

first

third
Run Code Online (Sandbox Code Playgroud)

用一些字符串(例如"第二")使用Bash?我想做某事 像这样:

first
second
third
Run Code Online (Sandbox Code Playgroud)

Gum*_*mbo 7

你可以使用sed:

sed -i -e 's/^$/second/' file
Run Code Online (Sandbox Code Playgroud)

-i选项可切换就地替换.


Yan*_*ang 6

您还可以对未设置或空变量使用默认值:

cat file.txt | while read line
do
   echo "${line:-second}"  # empty lines are default to 'second'
done > file.out
Run Code Online (Sandbox Code Playgroud)