.txt ファイルの 2 番目の列を削除するにはどうすればよいですか?

.txt ファイルの 2 番目の列を削除するにはどうすればよいですか?

私は、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

関連情報