有选择地合并多行?

有选择地合并多行?

我有一个大文件,其中标题行后面多次跟随一串字符。例如:

file1

VHBFBJBDSBVVFJBSV
SVJBVHJBVJ
SVKJBVJBNVKVJV

file2

dfhgdgffdghgg
SVKJBVJBNVKVJV

我想保持头文件相同,但将第 2 行以后的所有字符合并到一行中。谁能建议一下吗?

答案1

此解决方案用于tail删除标题行,将结果存储在 .tmp 文件中,然后用于paste合并行。生成的文件是 ab.pasted。

tail +2 a > a.tmp
tail +2 b > b.tmp
paste a.tmp b.tmp > ab.pasted
rm a.tmp b.tmp

答案2

如果我正确理解你的问题,你想要:

{ head -n 1; paste - file2; } < file1 > newfile

产生一个newfile类似的:

VHBFBJBDSBVVFJBSV
SVJBVHJBVJ      dfhgdgffdghgg
SVKJBVJBNVKVJV  SVKJBVJBNVKVJV

上面的行是用制表符粘贴的。如果您想要 SPC 字符,请将选项添加-d ' 'paste,或者如果您不需要分隔符,-d '\0'

相关内容