首页 > 系统相关 >linux中sed命令利用n;p选项输出奇数行、偶数行、或指定规则行

linux中sed命令利用n;p选项输出奇数行、偶数行、或指定规则行

时间:2024-02-20 11:13:54浏览次数:23  
标签:02 03 01 06 04 05 偶数 sed linux

 

001、输出偶数行

[root@pc1 test1]# ls
a.txt
[root@pc1 test1]# cat a.txt              ## 测试文本
01 01
02 02
03 03
04 04
05 05
06 06
07 07
08 08
09 09
10 10
[root@pc1 test1]# sed -n 'n;p' a.txt     ## 输出偶数行
02 02
04 04
06 06
08 08
10 10

 

002、输出奇数行

[root@pc1 test1]# ls
a.txt
[root@pc1 test1]# cat a.txt              ## 测试文本
01 01
02 02
03 03
04 04
05 05
06 06
07 07
08 08
09 09
10 10
[root@pc1 test1]# sed -n 'p;n' a.txt     ## 输出奇数行
01 01
03 03
05 05
07 07
09 09

 

003、

[root@pc1 test1]# ls
a.txt
[root@pc1 test1]# cat a.txt                  ## 测试文本
01 01
02 02
03 03
04 04
05 05
06 06
07 07
08 08
09 09
10 10
[root@pc1 test1]# sed -n 'n;n;n;p' a.txt      ## 每四行输出一行
04 04
08 08

 

004、输出每四行的第一行

[root@pc1 test1]# ls
a.txt
[root@pc1 test1]# cat a.txt                      ## 测试文本
01 01
02 02
03 03
04 04
05 05
06 06
07 07
08 08
09 09
10 10
[root@pc1 test1]# sed -n "p;n;n;n" a.txt       ## 输出每四行的第一行
01 01
05 05
09 09

 

005、 奇数行加倍

[root@pc1 test1]# ls
a.txt
[root@pc1 test1]# cat a.txt             ## 测试文本
01 01
02 02
03 03
04 04
05 05
06 06
[root@pc1 test1]# sed 'p;n' a.txt       ## 奇数行加倍
01 01
01 01
02 02
03 03
03 03
04 04
05 05
05 05
06 06

 

006、每四行的最后一行加倍

[root@pc1 test1]# ls
a.txt
[root@pc1 test1]# cat a.txt                ## 测试文本
01 01
02 02
03 03
04 04
05 05
06 06
[root@pc1 test1]# sed 'n;n;n;p' a.txt     ## 每四行的最后一行加倍
01 01
02 02
03 03
04 04
04 04
05 05
06 06

 。

 

007、每三行的随后一行加倍两次

[root@pc1 test1]# ls
a.txt
[root@pc1 test1]# cat a.txt                ## 测试文本
01 01
02 02
03 03
04 04
05 05
06 06
[root@pc1 test1]# sed 'n;n;p;p' a.txt     ## 每三行的最后一行加倍两次
01 01
02 02
03 03
03 03
03 03
04 04
05 05
06 06
06 06
06 06

 。

 

标签:02,03,01,06,04,05,偶数,sed,linux
From: https://www.cnblogs.com/liujiaxin2018/p/18022646

相关文章

  • linux centos重启后lvm异常。 LV Status NOT available
    问题描述1.机器无法正常开机。通过启动日志查看是挂载/data目录失败。 解决进入紧急模式取消/etc/fstab中的开机启动挂载2.进入系统后查看硬盘手动挂载测试。发现vgslvspvs都是有,但/dev/mapper/中没找到 通过lvdisplay查看lv的状态,发现status异常 StatusNOTa......
  • Linux 管道与参数传递(xargs&exec)
    深入学习链接:Linux的进程间通信:管道-知乎(zhihu.com)             Linux管道符|命令使用详解_linux中|的用法-CSDN博客 一、什么是管道?    管道(pipe),在任何一个shell中,都可以使用“|”连接两个命令,shell会将前后两个进程的输入输出用一个......
  • 大年学习linux(第三节---用户管理)
    三、用户管理用户和用户组操作命令ldFingerPwck检查/etc/passwd配置文件内的信息与实际主文件夹是否存在,还可比较/etc/passwd和/etc/shadow的信息是否一致,另外如果/etc/passwd中的数据字段错误也会提示。Grpck和pwck功能相近,这个是检查用户组的。Groupsnewgrpuseraddus......
  • 大年学习linux(第四节---文件权限)
    四、文件权限文件类型Linux文件类型和linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz,这些文件虽然要用不同的程序打开,但放在linux文件类型中衡量的话,大多是常规文件。Linux文件系统类型:普通文件-rw-r-r--第一个......
  • Linux下nohup和&的关系
    nohup和&的关系使用nohup运行程序:输出重定向,默认重定向到当前目录下nohup.out文件使用Ctrl+C(发送SIGINT信号),程序关闭关闭ShellSession(发送SIGHUP信号),程序免疫不关闭使用&运行程序:程序转入后台运行结果会输出到终端使用Ctrl+C(发送SIGINT信号),程序免......
  • Linux硬件信息
    Linux硬件信息查询前置软件安装#yumyuminstall-ydmidecode#aptaptinstallydemidecode#常规参数-t:现实指定的信息eg:dmidecode-tbios bios|system|baseboard|chassis|processor|memory|cache|connector|slot-q:精简模式忽略输出一部分信息......
  • linux 测试网络速率
    1.ethtoolethtool是很强大的查询网卡(嵌入式称为phy芯片)配置的工具,几乎phy芯片芯片手册寄存器能配置的选项,ethtool都能查询到;嵌入式调试phy芯片的时候经常用到该命令;最简单的指令如下ethtooleth0(要查看速率的网卡)#打印网卡信息Settingsforeth0:Supported......
  • linux系统中的tr -dc选项
     001、 -c:complement:表示取补集;-d:delete:表示删除[root@pc1test1]#echo"ab,123.cd-458fqq"|tr-dc[[:digit:]]|sed's/$/\n/'##删除所有数字的补集,则剩下数字123458[root@pc1test1]#echo"ab,123.cd-458fqq"|tr-dc[[:alpha:]]|sed&#......
  • linux 中生成随机数
     001、$RANDOM(0~32767的随机数)a、[root@pc1test1]#echo$RANDOM##直接输出31128[root@pc1test1]#echo$RANDOM2539[root@pc1test1]#echo$RANDOM23307 b、限定范围[root@pc1test1]#echo$(($RANDOM%100))##生成0-99的随机数26[root@......
  • linux字符串处理与赋值
    赋值使用$()例如:a=$(echo"helloworld")将命令echo“helloworld”的输出赋值给变量a字符串切片使用cut[选项]...[文件]...-b:以字节为单位进行分割;-c: 以字符为单位进行分割;-d分隔符: 使用指定分隔符代替制表符作为划分符,默认使用制表符;-f:选择指定的段,如果选......