如何使用 sed 用某个字符替换文件中的空行?
我使用了以下命令,但它仍然返回原始输入:
sed 's/^$/>/' filename
Run Code Online (Sandbox Code Playgroud)
原始输入:
ACTCTATCATC
CTACTATCTATCC
CCATCATCTACTC
...
Run Code Online (Sandbox Code Playgroud)
期望的输出:
ACTCTATCATC
>
CTACTATCTATCC
>
CCATCATCTACTC
>
...
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
这是一种方式与awk. 如果您有空格或空行,这不会在乎:
awk '!NF{$0=">"}1' file
Run Code Online (Sandbox Code Playgroud)
NF代表字段数。由于空行或只有空格的行没有字段,我们使用它来插入您的文本。1触发条件为true并打印该行:
测试:
$ cat -vet file
ACTCTATCATC$
$
CTACTATCTATCC$
$
CCATCATCTACTC$
$
Run Code Online (Sandbox Code Playgroud)
$ 是行尾标记
$ awk '!NF{$0=">"}1' file
ACTCTATCATC
>
CTACTATCTATCC
>
CCATCATCTACTC
>
Run Code Online (Sandbox Code Playgroud)