私は、fsl と呼ばれる神経科学プログラムの出力である .txt ファイルに取り組んでいます。このファイルには 2 つの列があり、2 番目の列を削除したいのですが、提案されたコードをいくつかテストしましたが、Linux コマンドでは 2 つの列を分離できないようです。2 番目の列を破棄する方法をご存知ですか? たとえば、試してみましたcut -f1,1 num.txt
が、うまくいきませんでした。
0 0.000000
49 1435.537231
11 322.263489
0 0.000000
0 0.000000
0 0.000000
0 0.000000
360 10546.804688
83 2431.624512
0 0.000000
答え1
awk
少なくとも基本を学ぶ価値がある強力なツールだと思います。チュートリアルはたくさんあります。最初の列を無条件に印刷するには、次のものだけが必要です。
awk '{print $1}' input.txt
利点はcut
、任意の空白文字を区切り文字として扱うこと(一部の実装ではSPCとTAB文字のみに制限されていますが)、先頭と末尾の文字を無視し、1つ以上の空白のシーケンスを区切り文字として扱うことです。1つセパレーター。
答え2
これはスペースで区切られたファイルのようです。
最初の列を新しいファイルに抽出するには:
$ cut -d ' ' -f 1 data >data.new
区切り文字としてスペースを使用するように指示します。デフォルトではタブ文字が使用されます-d ' '
。cut