Linux文本处理三剑客:grep,sed,awk

[grep]

[sed]

参数说明:

-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
-f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
-h或--help 显示帮助。
-n或--quiet或--silent 仅显示script处理后的结果。
-V或--version 显示版本信息。

动作说明:

a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :交换, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

【添加行(行后)】add
sed -e “4a\newLine” ./123.txt
cat ./123.txt | sed -e “4a\newline”
注意:""可为单引号’’,也可不写。下同。

【添加行(行前)】insert
sed -e “4i\newLine” ./123.txt

【添加行(行前)】insert
sed -e “4i\newLine” ./123.txt

【删除行】delete
cat /etc/passwd | sed -e “2,5d”
sed -e “2,5d” ./123.txt
sed -e “2d” ./123.txt
sed -e “2,$d” ./123.txt
sed -e “1,2d” ./123.txt

【替换行】change
sed -e “2,4c\newline” ./223.txt

【显示行】print
sed -n “2,4p” ./123.txt
nl ./123.txt | sed -n “2,4p”

【搜寻行并显示】print
nl ./123.txt | sed -n “/hello/p”

【搜寻行并删除】delete
nl ./123.txt | sed -e “/hello/d”

【搜寻并替换(行中单词替换并输出替换之后的行)】
nl ./123.txt | sed -e “s/oldword/newword/g”

【多条行命令】
sed ./123.txt -e “9,15d” -e “s/hello/world/g”

【直接修改文件内容】
sed -i “3a\newline” ./123.txt

规律总结:一句话,行数里命令,sed用于增删改查

对于-e参数,是从文件开始行到结尾行遍历打印,遇到符合条件的操作就先执行再打印;
sed -e “4a\newline”
sed -e “4i\newLine”
sed -e “2,5d”
sed -e “2,4c\newline”
sed -e “s/oldword/newword/g”
sed -e “/hello/d”

对于-n参数,是把整体的按行操作完之后,再一起打印。如下面的查找打印操作;
sed -n “2,4p”
sed -n “/hello/p”

【应用场景】
sed -e ‘s/KaTeX parse error: Undefined control sequence: \+ at position 63: …abc sed -e 's/ \̲+̲//g' 将空格删除 sed …/d’ 删除空行
sed -e ‘/^KaTeX parse error: Expected group after '^' at position 20: …打印空行 sed -e '/[^̲]/p’ 打印非空行
sed -n ‘/int/=’ 打印包含int的行号
sed -n ‘$=’ 打印总行数

[awk]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值