0|23|xxx |0|234|xx |1|23|gfds 1|33|dsf| 查找开头没有 | 的行,并添加上 | sed '/^|/! s/^/|/' ---匹配每行开头不是|的。然后在开头添加上| |0|23|xxx |0|234|xx |1|23|gfds |1|33|dsf| sed '/^|/ s/^/|/' (这个是匹配开头是|的 没有感叹号) 0|23|xxx ||0|234|xx ||1|23|gfds 1|33|dsf| 在匹配的内容前一行或后一行添加内容 #匹配行前加 sed -i '/123/i\456' test.txt #匹配行后加 sed -i '/123/a\456' test.txt 删除两行之间的内容 sed -i '/abc123/,/def456/{//!d}' abc.txt 获取两个字符串之间的内容 //通过sed正则匹配 #cat abc Mon Mar 8 12:50:58 2021 response alt2-mtalk.abc.com from 127.0.0.1:5353 - 100.250.138.188, pass #sed -E 's/.*response\ (.*)\ from.*/\1/' abc #cat cc 2023-02-12 10:39:01 -- usernum:[132] sed -E 's/.*\[(.*)\].*/\1/'` cc 根据正则匹配替换