这是我的文件,两个字段之间的分隔符 (\t)。
1 a
2 b
3
4 d
5
6 e
我想获取中间文件
1 a
2 b
4 d
6 e
和最终文件
>1
a
>2
b
>4
d
>6
e
这是我的文件,两个字段之间的分隔符 (\t)。
1 a
2 b
3
4 d
5
6 e
我想获取中间文件
1 a
2 b
4 d
6 e
和最终文件
>1
a
>2
b
>4
d
>6
e
如果
file
包含:并假设有几个空格或/和制表符用作分隔符,试试这个:
对于中间文件和这个:
获取最终文件。
你标记了你的问题
awk
,但有些寂寞sed -i
在鬼混,所以我敢于给出sed
解决方案:这将“填充”行分为三个部分:
^[0-9]+
[[:space:]]+
[[:alnum:]]+
第一部分和第三部分被 包围,因此
()
可以在替换中重复使用。\1
\2
替换中的换行符前面需要一个反斜杠。
仅当可以替换时,ubstitute 命令的
p
rint 标志才s
输出缓冲区,而其他输出则被该-n
选项抑制。这种方式只处理具有第二个条目的行。使用Raku(以前称为 Perl_6)
样本输入:
样本输出 (1):
要将样本输出 (1) 转换为样本输出 (2):
样本输出(2):
一起[从样本输入产生样本输出(2)]:
https://raku.org