如果我想打印第四栏直到第十栏,我可以使用:
awk '{for( i=4; i<=10; i++ ){printf( "%s ", $i )}; printf( "\n"); }
但是,如果我想打印第1,3,然后4-10,然后12列呢?
发布于 2017-08-25 06:41:07
试着跟随,如果这有帮助的话,让我知道。
awk '{printf("%s %s",$1,$3);for( i=4; i<=10; i++ ){printf( "%s ", $i )}; printf(" %s\n",$12);}' Input_file
发布于 2017-08-25 06:51:33
awk解决方案:
awk '{ for(i=1;i<=12;i++) if(i!~/^(2|11)$/) printf "%s ",$i; print "" }' file
if(i!~/^(2|11)$/)
-确保它不是第二个或第11个字段。可以将交替组(2|11|...)
扩展到应该跳过的多个字段号。https://stackoverflow.com/questions/45875484
复制相似问题