3列のテキストファイルを1行ずつ3つの別々のファイルに転記したい。次の3つのファイル問題を使って列を転置するときに問題が発生する
1 22 0.8
4 21 0.73
3 30 1.56
5 12 0.92
in_fileおよび生産:つまり 、このファイルを取る
out_file1
1 4 3 5
out_file2
22 21 30 12
out_file3
0.8 0.73 1.56 0.92
私はこれを行うには、カットを使用しようとしました:
cut -d' ' -f1 in_file | tr -s '\n' '\t' >> out_file1
cut -d' ' -f2 in_file | tr -s '\n' '\t' >> out_file2
cut -d' ' -f3 in_file | tr -s '\n' '\t' >> out_file3
しかし、私は何を得ることはこれです:
out_file2out_file1
1 4 3 5
それは最初の2列に対して機能し、第三ない理由
out_file3
0.8
0.73
1.56
0.92
私が把握することはできません。
助けてくれてありがとうございます! awkがavailbleである場合
デリミタは常に1つの空白ですか? –
区切り文字は常にタブです。 実際、私は上記の私の記事に間違いがあったことに気付きました。今、out_file3が実際どのように見えるかを更新しました(各行の冒頭にある新しいタブ)。 – Neuroguy
入力区切り文字 - タブまたはスペースですか? スペースが1つの場合、コードは私のために働きます(centos 6。5) あなたは 'cat in_file | tr -s "" 'の前にカット – mousomer