Awk 剪切列并附加到同一文件

Awk 剪切列并附加到同一文件,awk,append,pipe,cut,perl,Awk,Append,Pipe,Cut,Perl,我正在使用MacOS上的标签分隔文件。该文件包含15列和数千行。我想剪切第1、2和3列,然后用第11、12和13列附加它们。我希望在管道中这样做,这样就不需要创建额外的文件。我找到的唯一一个帖子使用了一个命令scribe,但我显然没有在MacOS上使用它,或者它不在我的BASH中 输入tsv文件实际上是在同一行代码中生成的 生成input.tsv | cut-f1-3,11-13 | | sort>out.file的任意命令 输入tsv chr1 21018 21101 A B

我正在使用MacOS上的标签分隔文件。该文件包含15列和数千行。我想剪切第1、2和3列,然后用第11、12和13列附加它们。我希望在管道中这样做,这样就不需要创建额外的文件。我找到的唯一一个帖子使用了一个命令
scribe
,但我显然没有在MacOS上使用它,或者它不在我的BASH中

输入tsv文件实际上是在同一行代码中生成的

生成input.tsv | cut-f1-3,11-13 | | sort>out.file的任意命令

输入tsv

chr1    21018   21101   A   B   C   D   E   F   G   chr1    20752   21209
chr10   74645   74836   A   B   C   D   E   F   G   chr10   74638   74898
chr10   75267   75545   A   B   C   D   E   F   G   chr10   75280   75917
chr4    212478  212556  A   B   C   D   E   F   G   chr4    212491  213285
chr1    21018   21101
chr1    20752   21209
chr10   74638   74898
chr10   74645   74836
chr10   75280   75917
chr4    212478  212556
chr4    212491  213285
所需输出tsv

chr1    21018   21101   A   B   C   D   E   F   G   chr1    20752   21209
chr10   74645   74836   A   B   C   D   E   F   G   chr10   74638   74898
chr10   75267   75545   A   B   C   D   E   F   G   chr10   75280   75917
chr4    212478  212556  A   B   C   D   E   F   G   chr4    212491  213285
chr1    21018   21101
chr1    20752   21209
chr10   74638   74898
chr10   74645   74836
chr10   75280   75917
chr4    212478  212556
chr4    212491  213285
使用和:

代码 输出
以下是简短的
awk
解决方案:

awk '{print $1, $2, $3, "\n" $1, $12, $13;}' input.tsv
输出: 解释
嗨,吉尔。有没有办法用浆糊把它用管子塞住?这并不完全正确,但您可能会看到如何调整下面的粘贴命令
生成input.tsv | cut-f1-3,11-13 | paste的任意命令
chr1 21018 21101 
chr1 20752 21209
chr10 74645 74836 
chr10 74638 74898
chr10 75267 75545 
chr10 75280 75917
chr4 212478 212556 
chr4 212491 213285
{ # for each input line
    print $1, $2, $3; # print 1st field, append 2nd and 3rd fields. Terminate with new line
    print $1, $12, $13; #print 1st field, append 12th and 13th field. Terminate with new line
}