貼り付けを使用して複数のテキストファイルを並べて結合するのに問題があります。

貼り付けを使用して複数のテキストファイルを並べて結合するのに問題があります。

何百もの.txtファイルを並べてマージする必要があります。フォーラムで回答された質問のいくつかを使用しようとしましたが、ファイルがマージされている間、2番目と3番目(等)のファイルは毎回1行下に移動します。私はそれらがソートされたままで、すべてのファイルが同じ数の行を持つことを望みます(各行の文字ではない場合)。私のファイルはカンマで区切られており、最終的な目標はファイルをすべてデータ処理にうまくすることです。

私のファイルは

591.txt

CT Analyser, Version: 1.9.3.2 
Date and time,25.07.2014 09:56 
Operator identity,svy557 
Computer name,UT156805 
Computation time,00:08:24
Dataset,591_right__rec_tra_voi 
Location,D:\Pam Mandible Copy\591\Right\Region1\

583.txt

CT Analyser, Version: 1.9.3.2
Date and time,31.07.2014 15:14
Operator identity,svy557
Computer name,UT156805
Computation time,00:10:04
Dataset,583_left__rec_tra
Location,D:\Pam Mandible Copy\583 Left\Reoriented\

私は次のことを試しました。

paste 591.txt 593.txt | column -s $'\t' -t

次のようにマージされます(2番目のファイルは互いに隣り合うのではなく下の行にあります)。

CT Analyser, Version: 1.9.3.2
                     CT Analyser, Version: 1.9.3.2
Date and time,25.07.2014 09:56
                    Date and time,25.07.2014 09:55
Operator identity,svy557
                          Operator identity,svy557
Computer name,UT156805
                            Computer name,UT156805
Computation time,00:08:24
                         Computation time,00:08:13
Dataset,591_right__rec_tra_voi
                    Dataset,583_right__rec_tra_voi
Location,D:\Pam Mandible Copy\591 Right\Region1\
  Location,D:\Pam Mandible Copy\583 Right\Region1\

最近私を狂わせています。どんな助けでも大変感謝します。私はUNIXに初めて触れたので、これを行うのに十分に学び、同様のスキルを必要とする他のプロジェクトを学びようとしています。実際のファイルの長さは約50行で、次のように複数のファイルを実行しようとすると、すべてのファイルは次のようになります。

paste -d '\n' *.txt > new.txt

結果は予測不可能になる

 CT Analyser, Version: 1.9.3.2
CT Analyser, Version: 1.9.3.2
CT Analyser, Version: 1.9.3.2
CT Analyser, Version: 1.9.3.2
CT Analyser, Version: 1.9.3.2
                     CT Analyser, Version: 1.9.3.2

Date and time,25.07.2014 09:55
Date and time,25.07.2014 09:55
Date and time,25.07.2014 09:56
Date and time,25.07.2014 09:56
Date and time,25.07.2014 09:56
                    Date and time,25.07.2014 09:55

Operator identity,svy557
Operator identity,svy557
Operator identity,svy557
Operator identity,svy557
Operator identity,svy557
                          Operator identity,svy557

Computer name,UT156805
Computer name,UT156805
Computer name,UT156805
Computer name,UT156805
Computer name,UT156805
                            Computer name,UT156805

Computation time,00:08:13
Computation time,00:08:13
Computation time,00:08:24
Computation time,00:08:24
Computation time,00:08:24
                         Computation time,00:08:13

Dataset,583_right__rec_tra_voi
Dataset,583_right__rec_tra_voi
Dataset,591_right__rec_tra_voi
Dataset,591_right__rec_tra_voi
Dataset,591_right__rec_tra_voi
                    Dataset,583_right__rec_tra_voi

Location,D:\Pam Mandible Copy\583 Right\Region1\
Location,D:\Pam Mandible Copy\583 Right\Region1\
Location,D:\Pam Mandible Copy\591 Right\Region1\
Location,D:\Pam Mandible Copy\591 Right\Region1\
Location,D:\Pam Mandible Copy\591 Right\Region1\
  Location,D:\Pam Mandible Copy\583 Right\Region1\

すべての助けにもう一度感謝します。

ベストアンサー1

行に末尾の空白があり、改行が進むようです。これが真であることを確認するために、8進数/16進数でファイルの先頭をダンプしてみましたか?

sedその後、始める前に、単純なコマンドを使用して繰り返しシェルスクリプトのすべてのファイルを変更できます。

おすすめ記事