0

sedを使用して複数のファイルから列を削除するには?

入力

1    2.1    3.3   4.2    5.1

出力

3.3   4.2    5.1

出力が揃うと良いです。

4

4 に答える 4

1

一方向 (出力はタブ区切り):

perl -lane'print join "\t",@F[2..$#F]' file

右揃えの出力の場合:

perl -lane'printf "%10s",$_ for @F[2..$#F];print "";' file
于 2013-03-29T08:25:37.153 に答える
1

sed を使用して最初の 2 つの列を削除します。

sed 's/^[ \t]*[0-9.]*[ \t]*[0-9.]*[ \t]*//' input1 input2

[ \t]*[0-9.]*さらに列を削除する場合は、 の数を増やすことができます。

于 2013-03-29T08:27:44.520 に答える
1

awk は同じことを行うことができ、必要に応じて列を簡単に切り替え、入力と出力のセパレーターを変更できます。

awk '{print $3,$4,$5}' test
3.3 4.2 5.1

それが役に立てば幸い

于 2013-03-29T08:40:02.000 に答える
0
awk '{$1=$2="";gsub("^  ","",$0);}1' your_file

また

perl -lane 'print "@F[2..scalar(@F)]"' your_file
于 2013-03-29T09:39:10.177 に答える