sed 命令按行查找,非常方便和快速。
格式:
sed -n '/a/p' filename # 查找文件中包含字符a的行
sed -n '/a \| b/p' filename #查找文件中包含字符a或者b的行,注意,或“|” 需要进行转义
如果不包含指定字符呢?也很简单,用 !p 就好。
eg:
sed -n '/a/!p' # 查找文件中不包含字符a的行
sed 删除指定行
sed -i '3,$ /aa/d' #删除第3行以后,包含aa字符的行
sed -i '3,$ /aa/!d' # 删除第3行以后,不包含aa字符的行
sed -i '1d' a.txt #删第一行
sed -i '$d' b.txt # 删除最后一行
sed -i 's/[ ]*//g' c.txt #删除空格
sed -i '/^$/d' d.txt ##删除空行
sed -i ‘/^[0-9]*$/d' a.txt #删包含数字的行
sed -i ‘1,2d’a.txt #删除前2行
sed -i ‘/love/d’ a.txt #删除包含字符串love的行