-3

我有一个输入文件

C3905550 oder CDS 68 646 . - . asmbl_487
C3905550 oder exon 68 646 . - . asmbl_418
C3918365 oder CDS 42 252 . + . asmbl_445
C3918365 oder exon 42 252 . + . asmbl_443

所有列都由 TAB 分隔

我想创建一个新的输出文件,如:

C3905550 oder CDS 68 646 . - . asmbl_487 "asmbl_487"
C3905550 oder exon 68 646 . - . asmbl_418 "asmbl_418"
C3918365 oder CDS 42 252 . + . asmbl_445 "asmbl_445"
C3918365 oder exon 42 252 . + . asmbl_443 "asmbl_443"

在输出文件中的最后一列应该用“”复制并粘贴,这个新列应该用空格而不是TAB分隔,其余列应该像输入文件中一样,用TAB分隔

谢谢!

4

4 回答 4

3

这条线对你有用吗?

awk -F'\t' '{print $0" \""$NF"\""}' file
于 2013-09-02T11:06:16.053 回答
3

这是另一种方式:

perl -pe 's/\t(\S+)\K$/\t"$1"/m'
于 2013-09-02T11:08:54.120 回答
0

这可能对您有用(GNU sed):

sed 's/\t\([^\t]*\)$/& "\1"/' file
于 2013-09-02T16:35:14.150 回答
0

还有一种方式:

sed 's/.*[[:space:]]\([^[:space:]]\+\)$/& "\1"/' file
于 2013-09-02T11:22:16.480 回答