2

タブ区切りのファイルをカットアンドペーストしようとしていますが、UNIXのカットアンドペーストユーティリティを次のように使用しています。

cut -f 1-66 file1 > file1a
cut -f 68- file1  > file1b
paste file1a file1b

しかし、Perl / Rubyで-Fコマンドを使用してそれを行う方法があるかどうか疑問に思っていました。それは、おそらく長期的にはより高速になるからです。例えば

perl -F/\\t/ -ane
for every line in document
  for i (0..66) and (67..Last field in line)
    print $[i]
   end
   print \n
end
4

2 に答える 2

4

元のコードにはいくつかのリダイレクトがないようです。

どうですか:

cut -f1-66,68- input > output

perlやrubyがこれより速くなる可能性は低いと思います。

于 2012-10-17T15:45:52.533 に答える
4

Perlは次のように機能します。

perl -F/\\t/ -ane  'print join("\t", @F[0..66,68..$#F])'

@F文字列の一部を$#F含み、最後の要素のインデックスを含みます@F

于 2012-10-17T15:48:50.637 に答える