我正在尝试使用 perl 在表格文件中删除三列。
输入文件:
A B C D
预期/新文件:
A B C
我在其他问题中看到如何只删除一列,答案是:
perl.exe -na -e "print qq{$F[3]\n}" < input
我怎样才能重写它以删除三列?
谢谢
我正在尝试使用 perl 在表格文件中删除三列。
输入文件:
A B C D
预期/新文件:
A B C
我在其他问题中看到如何只删除一列,答案是:
perl.exe -na -e "print qq{$F[3]\n}" < input
我怎样才能重写它以删除三列?
谢谢
在 awk 模式下使用 perl:
$ cat -T f1
a^Ib^Ic^Id^Ie^If
a^Ib^Ic^Id^Ie^If
a^Ib^Ic^Id^Ie^If
$ perl -F'\t' -lane 'print $F[0],"\t",$F[1],"\t",$F[2]' input
a b c
a b c
a b c
或空格分隔:
$ perl -F'\t' -lane 'print qq{@F[0..2]}' input
a b c
a b c
a b c
或打印前三列,在 awk 中以制表符分隔
$ awk 'BEGIN{OFS="\t"}{print $1, $2, $3}' input
a b c
a b c
a b c
这对你有用吗:
perl.exe -na -e "print qq{@F[0..2]\n}" < input > newfile
perl -lane "pop @F; print qq(@F)" input
这是另一个选项(Perl v5.14+):
perl -lne "print s/.+\K\s+\S$//r" inFile