複数のタブ区切りファイルに対して同じ行を取り出して新たなフォルダにまとめるのに最適な言語


ディレクトリ内にある複数の行列データが保存されたタブ区切りの”複数の”ファイル(以下、datファイル)から、ある特定の行を取り出し、
**取り出した順に行データを並べて新たにdatファイル** を作りたいです。  
Python/シェルスクリプト/C どれで作ると良いでしょうか。datデータはLinuxのディレクトリ内にあります。

求めている手法の「最適」条件  
Linux上のディレクトリで動作する言語（導入しやすい言語_ex.>pythonの場合はpythonスクリプトで書く必要がある？）、プログラムが簡易、処理速度が早い

## datファイルの形式

タブで区切られた小数点数の行列データからなるテキストファイルです。最初の行がアルファベットや記号で列データの見出しになっています。その各見出しの下に小数点数が数百並んでいるデータになります。

[code]

    # x y z  
    1.0 2.1 -5.4 8.2
    0.0 23.4 4.4 3.4
    ... (以下数百行続く)
    
[/code]

追記(2018/06/30)

# タブではなく、複数スペースによる区切りファイルでした。

#[スペース18個]x[スペース19個]y[スペース19個]z  
[スペース6個]1.0[スペース5個]2.1[スペース5個]-5.4[スペース5個]8.2  
[スペース6個]0.0[スペース5個]23.4[スペース5個]4.4[スペース5個]3.4

... (以下数百行続く)




datファイルがタブ区切りファイルであれば、シェルスクリプトが良いと思います。

[タブ区切りファイルの例](https://en.wikipedia.org/wiki/Tab-separated_values) を org.dat
とした場合、  
以下のシェルコマンドで組みあわせで、列を抽出しソートできます。  
(3列目を抽出しソートする場合)

[code]

    # .(カレントディレクトリ)配下のdatファイルからヘッダ部を取り除き1つにまとめ,
    # 3列目を抽出, ソート
    # 結果をnew.datに保存
    find . -type f -name "*.dat" -exec tail -n +2 {} \; | cut -f 3 | sort -n > new.dat
    
[/code]

