ヘッダー行の後に文字列が複数回出てくる大きなファイルがあります。たとえば、
file1
VHBFBJBDSBVVFJBSV
SVJBVHJBVJ
SVKJBVJBNVKVJV
file2
dfhgdgffdghgg
SVKJBVJBNVKVJV
ヘッダーは同じままですが、2行以降のすべての文字を1行にマージしたいと思います。誰でも何かを提案できますか?
答え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'