11. Sed 例子

12 篇文章 0 订阅
  1. 去除代码中的注释
dingmac@ubuntu:~$ echo -e "One\nTwo One\n#One\n//zhang" | sed -E 's@(//.*|#.*)@ ---- @' 
  1. 打印出行数 类似wc -l
 seq 129 | sed -n '$='
  1. 答应出前几行 head 10
seq 120 | sed '10 q'
  1. 打印出最后一行
seq 102 | sed -n '$p'
  1. 打印出最后5行
seq 102 | sed ':A;N;1,5bA;D'
  1. 打印出最后两行
seq 102 | sed 'N;$!D'
  1. 复制功能
seq 102 | sed 'w file1.txt'
  1. 实现grep -v
grep -v "Line #1" test.txt

sed -n '/Line #1/!p' test.txt
  1. tr 功能
echo "ABC" | tr "ABC" "abc" 
输出abc

dingmac@ubuntu:~$ echo "abcazhangsan" | sed 'y/abc/ABC/'
ABCAzhAngsAn
dingmac@ubuntu:~$ echo "abcazhangsan" | tr "abc" "ABC"
ABCAzhAngsAn
  1. 实现cat -s 的功能去掉重复的 换行符
echo "zhansgan\n\n\tlisi\n" | cat -s

dingmac@ubuntu:~$ echo  -e "zhansgan\n\n\n\tlisi\n" | sed -n '1s/^$//p;/./,/^$/! D;p'

MAC 注意点

不支持 e

echo 'a' | sed 'e date' 没有作用

{}
执行多个语句的时候{N;p;} 记得一定要写最后的;

查看下面例子

echo -e "zhansgan\n\nlisi" | sed '/./,/m/!D'

如果区间/./ 到 /m/ 开始区间找到了 结束的没有找到 name 一直到最后

echo -e “zhansgan\n\nlisi\n” | sed -n ‘N;$!D;p;’

解释如下
1
2
3
4

1 进入 2 进入 不是最后一行 删除第一行 pattern buffer 变成 2 然后 第三行进来 不是最后一行 删除第一行 pattern buffer 变成 3 最后到了第四行 进来 变成3\n4 没有删除 最后打印出来 2\3

最后建议 man sed 一下 查看一下文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是Linux中相关命令的例子: 1. grep:查找文本中的特定模式,如查找包含关键字“hello”的行。例:`grep "hello" file.txt` 2. sed:用于文本替换和编辑,如将文本文件中的字符串“foo”替换为“bar”。例:`sed 's/foo/bar/g' file.txt` 3. sort:按照字典顺序对文本文件进行排序。例:`sort file.txt` 4. tr:用于替换或删除文本中的字符,如将文本中的所有小写字母转换为大写字母。例:`tr 'a-z' 'A-Z' < file.txt` 5. uniq:用于删除文本文件中的重复行。例:`uniq file.txt` 6. wc:用于计算文件中的字数、行数和字符数。例:`wc file.txt` 7. dd:用于复制和转换文件。例:`dd if=/dev/zero of=file.txt bs=1M count=10`(将创建一个大小为10MB的文件) 8. ip link:用于管理网络接口。例:`ip link show` 9. ip addr:用于管理IP地址。例:`ip addr show` 10. ss:用于查看网络连接状态。例:`ss -tunlp` 11. netconfig:用于配置网络设置。例:`netconfig` 12. ifconfig:用于配置网络接口。例:`ifconfig eth0 up` 13. netstat:用于查看网络连接状态。例:`netstat -an` 14. ping:用于测试主机之间的连通性。例:`ping google.com` 15. useradd:用于创建新用户。例:`useradd john` 16. date:用于显示和设置系统日期和时间。例:`date` 17. kill:用于终止进程。例:`kill 1234` 18. logname:用于显示当前用户的登录名。例:`logname` 19. ps:用于显示当前正在运行的进程。例:`ps aux` 20. nice:用于调整进程的优先级。例:`nice -10 command` 21. top:用于实时监视系统资源使用情况。例:`top` 22. pstree:用于显示进程树。例:`pstree` 23. sudo:用于以超级用户权限运行命令。例:`sudo command` 24. uname:用于显示系统信息。例:`uname -a` 25. userdel:用于删除用户。例:`userdel john` 26. who:用于显示当前登录用户。例:`who` 27. whoami:用于显示当前用户的用户名。例:`whoami` 28. whois:用于查询域名信息。例:`whois google.com` 29. free:用于显示系统内存使用情况。例:`free`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值