Linux常用命令之sed和seq

seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式、宽度、分割符号进行控制.

sed命令对文件的操作无非就是”增删改查“.通过该命令,我们就能够写脚本.比方说,redis持久化中的快照模式,每个一定时间就会进行数据的备份,此时就可以通过不断地调用sed命令在本地创建文件.

Seq

选项:

    -f, --format=格式

    -s, --separator=字符串,使用指定的字符串分割数字(默认使用个"\n"分割)

    -w, --sequal-width  在列前添加0 使得宽度相同

eg:

[1] 产生5以内的整数

        命令:seq 5

[2]产生-2~10内的整数,增量为2

        命令:seq -2 2 10

 [3] 产生98~101之间的整数,并且要求输出数字宽度相同,不足的用空格补足。

        命令: seq -f "%3g" 98 101    

[4] 产生98~101之间的整数,并且要求数字之间的分隔符为":::"。

         命令:seq -s ":::" -f "%03g" 98 101

Sed

eg:

sed '2a testContent' test.txt      在第 2 行后面新增一行内容

sed '1,3a testContent' test.txt   在原文的第 1~3 行后面各新增一行内容

sed '2c testContent' test.txt      将第 2 行内容整行替换

sed '1,3c testContent' test.txt    将第 1~3 行内容替换成一行指定内容

sed '2d' test.txt                          删除第 2 行

sed '1,3d' test.txt                      删除第1~3行

sed '2i testContent' test.txt      在第 2 行前面插入一行内容

sed '1,3i testContent' test.txt   在原文的第 1~3 行前面各插入一行内容

sed '2p' test.txt                        重复打印第 2 行

sed '1,3p' test.txt                    重复打印第1~3行

sed -n '2p' test.txt                  只打印第 2 行

sed -n '1,3p' test.txt               只打印第 1~3 行

sed -n '/user/p' test.txt           打印匹配到user的行,类似grep

sed -n '/user/!p' test.txt          ! 反选,打印没有匹配到user的行

sed -n 's/old/new/gp' test       只打印匹配替换的行

sed 's/old/new/' test.txt          匹配每一行的第一个old替换为new

sed 's/old/new/gi' test.txt       匹配所有old替换为new,g 代表一行多个,i 代表匹配忽略大小写

sed '3,9s/old/new/gi' test.txt     匹配第 3~9 行所有old替换为new

sed -e 's/系统/00/g' -e '2d' test.txt     执行多个指令

sed -f ab.log test.txt                多个命令写进ab.log文件里,一行一条命令,效果同-e

 

若不指定行号,则每一行都操作。

$代表最后一行,双引号内的$代表使用变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值