首页 > 系统相关 >linux awk语句中next 和 continue的区别

linux awk语句中next 和 continue的区别

时间:2024-02-18 10:25:18浏览次数:39  
标签:test2 next admin1 continue awk base

 

next 是跳过当前行(awk自身是列循环和行循环的结合);

continue是跳过当前循环(跳过列循环);

 

001、next;跳过当前行

(base) [b20223040323@admin1 test2]$ ls
a.txt
(base) [b20223040323@admin1 test2]$ cat a.txt                  ## 测试文本
001 002 003 004 005 006 007 008 009 010
011 012 013 014 015 016 017 018 019 020
021 022 023 024 025 026 027 028 029 030
031 032 033 034 035 036 037 038 039 040
041 042 043 044 045 046 047 048 049 050
051 052 053 054 055 056 057 058 059 060
061 062 063 064 065 066 067 068 069 070
071 072 073 074 075 076 077 078 079 080
081 082 083 084 085 086 087 088 089 090
091 092 093 094 095 096 097 098 099 100
(base) [b20223040323@admin1 test2]$ awk '{if(NR % 2 == 0) {next}; print $0}' a.txt
001 002 003 004 005 006 007 008 009 010                         ## 遇到偶数行,直接跳过
021 022 023 024 025 026 027 028 029 030
041 042 043 044 045 046 047 048 049 050
061 062 063 064 065 066 067 068 069 070
081 082 083 084 085 086 087 088 089 090

 

002、continue;跳过当前的loop

(base) [b20223040323@admin1 test2]$ cat a.txt                      ## 测试文件
001 002 003 004 005 006 007 008 009 010
011 012 013 014 015 016 017 018 019 020
021 022 023 024 025 026 027 028 029 030
031 032 033 034 035 036 037 038 039 040
041 042 043 044 045 046 047 048 049 050
051 052 053 054 055 056 057 058 059 060
061 062 063 064 065 066 067 068 069 070
071 072 073 074 075 076 077 078 079 080
081 082 083 084 085 086 087 088 089 090
091 092 093 094 095 096 097 098 099 100                             ## continue跳过当前的loop
(base) [b20223040323@admin1 test2]$ awk '{for(i = 1; i <= NF; i++) {if(i % 2 == 0) {continue} else {printf("%s ", $i)}}; printf("\n")}' a.txt
001 003 005 007 009
011 013 015 017 019
021 023 025 027 029
031 033 035 037 039
041 043 045 047 049
051 053 055 057 059
061 063 065 067 069
071 073 075 077 079
081 083 085 087 089
091 093 095 097 099

 。

 

标签:test2,next,admin1,continue,awk,base
From: https://www.cnblogs.com/liujiaxin2018/p/18018831

相关文章

  • linux 中awk 根据多列读数据进行去重复
     001、(base)[b20223040323@admin1test2]$lstest.txt(base)[b20223040323@admin1test2]$cattest.txt##测试数据如下;根据第一列和第三列对数据进行去重复ID=gene-RIN1rna-XM_018043206.13615ID=gene-STRIP2rna-XM_018046935.13917ID=gene-ST......
  • linux 中awk命令实现根据一列数值的大小筛选指定列多个类别的最大或者最小项
     001、(base)[b20223040323@admin1test2]$cat003.txt##测试数据如下,第一列有多个项,且部分项有重复,实现根据第三列筛选出最大的项ID=gene-TRNAC-GCArna-TRNAC-GCA72ID=gene-ATP5Orna-XM_005674665.3793ID=gene-ITSN1rna-XR_001917533.14......
  • Scanner—使用next方式接收
    packagescanner;importjava.util.Scanner;publicclassnext{publicstaticvoidmain(String[]args){//1.创建一个扫描器对象,用于接收键盘数据Scannerscanner=newScanner(System.in);//输入newScanner(System.in)Alt+回车System.ou......
  • Scanner—使用nextLine方式接收
    packagescanner;importjava.util.Scanner;publicclassnextLine{publicstaticvoidmain(String[]args){//1.创建一个扫描器对象,用于接收键盘数据Scannerscanner=newScanner(System.in);//new.Scanner(System.in)Alt+回车System.......
  • day30-三剑客awk
    awk是什么再谈三剑客grep,擅长单纯的查找或匹配文本内容sed,更适合编辑、处理匹配到的文本内容awk,更适合格式化文本内容,对文本进行复杂处理后、更友好的显示三个命令称之为Linux的三剑客awk学完后的能力以下部分内容需要结合shell编程对文本行数据提取数据字段模式、动......
  • Linux 中 使用awk数组根据基因的PAV矩阵计算基因的存在频率
     001、测试数据[b20223040323@admin1test]$lsx_gather_pav.txt[b20223040323@admin1test]$catx_gather_pav.txt##测试数据;每一行是一个个体;每一列是一个基因;矩阵中的0表示基因在这个个体中缺失,1表示基因在这个个体中存在01111......
  • Linux 中awk批量输出列
     001、方法1双文件[root@PC1test1]#lsa.txtcols.list[root@PC1test1]#catcols.list##列1358[root@PC1test1]#cata.txt##测试文件00100200300400500600700800901001101201301401501601701801902002102202302402......
  • Java break、continue 详解与数组深入解析:单维数组和多维数组详细教程
    JavaBreak和ContinueJavaBreak:break语句用于跳出循环或switch语句。在循环中使用break语句可以立即终止循环,并继续执行循环后面的代码。在switch语句中使用break语句可以跳出当前case,并继续执行下一个case。示例://循环示例for(inti=0;i<10;i++......
  • Linux 中 awk命令输出文本的前几列
     001、linux中awk命令输出文本的前几列[root@PC1test2]#lsa.txt[root@PC1test2]#cata.txt##测试文本01020304050607080910111213141516171819202122232425262728293031323334353637383940[root@PC1......
  • 增强for循环和break continue
    增强for循环java5引入一种主要用于数组或者集合的增强型for循环java增强for循环语法格式如下:for(声明语句:表达式){//代码句子}声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式:表达式......