Search and print matched lines:
scnzzh@ZUBT1:~/zzh$ sed -n '/ExecStart/p' docker.service ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Search and replace pattern:
scnzzh@ZUBT:~$ echo 'app[01:100].com' | sed 's/.*\[/\[/' [01:100].com
Search and replace in file:
scnzzh@ZUBT1:~/zzh$ grep '\-H fd://' test.service ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock scnzzh@ZUBT1:~/zzh$ sed -i 's/-H fd:\/\//-H fd:\/\/ -H tcp:\/\/10.0.2.5:2375/' test.service scnzzh@ZUBT1:~/zzh$ grep '\-H fd://' test.service ExecStart=/usr/bin/dockerd -H fd:// -H tcp://10.0.2.5:2375 --containerd=/run/containerd/containerd.sock
Multiple search and delete following 2 lines in file:
sed -i -e '/\(zabbix_wrapper.pl\|type="thread"\|type="collect"\)/,+2d' $line
'<' and '>' don't need to be escaped:
sed -i 's/<depend>PARALLEL_THREAD<\/depend>/<depend>NONE<\/depend>/g' $line
Change position:
cat test1 first:second one:two sed 's/\(.*\):\(.*\)/\2:\1/' test1 second:first two:one
Use semicolon to execute multiple commands:
cnzzh@zubt1:~/zzh$ seq 6 1 2 3 4 5 6 scnzzh@zubt1:~/zzh$ seq 6 | sed '1d;3d;5d' 2 4 6
Replace multiple blank lines with one:
scnzzh@zubt1:~/zzh$ cat a.txt 1 2 3 4 5 scnzzh@zubt1:~/zzh$ sed '/^$/N;/^\n$/D' a.txt 1 2 3 4 5
$ Match the last line.
d Delete pattern space. Start next cycle.
D If pattern space contains no newline, start a normal new cycle as if the d command was issued. Otherwise, delete text in the pattern space up to the first newline, and restart cycle with the resultant pattern space, without reading a new line of input.
n N Read/append the next line of input into the pattern space.
Remove all blank lines:
scnzzh@zubt1:~/zzh$ sed '/^$/d' a.txt 1 2 3 4 5
Remove lines those only contain whitespaces:
scnzzh@zubt1:~/zzh$ cat a.txt aaa bbb ccc scnzzh@zubt1:~/zzh$ sed -r '/^\s*$/d' a.txt aaa bbb ccc
Replace multiple whitespace lines to one line:
scnzzh@zubt1:~/zzh$ sed '/^\s*$/N;/^\s*$/D' a.txt aaa bbb ccc
Replace values of parameters/variables:
/home/scnzzh/zzh $> cat b.txt binpath=/PATH/TO/SCRIPTS/ aa_binpath=/PATH/TO/AA/ /home/scnzzh/zzh $> sed "s/binpath=\(.*\)/binpath=aaa/" b.txt binpath=aaa aa_binpath=aaa /home/scnzzh/zzh $> sed "s/^binpath=\(.*\)/binpath=aaa/" b.txt binpath=aaa aa_binpath=/PATH/TO/AA/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律