1、替换和修改
sed -n 's/item/pre_item &/p' quot.txt
原内容:have a item
执行后:have a pre_item item
2、从文本读文件附加到令以文本后
sed '/Miss./r tmp.txt' quote.txt
将文本quote.txt中Miss所在行后附加tmp.txt内容。
3、处理控制符
sed 's/##*//g' file.txt //去除##
sed 's/^0*//g' file.txt //去除行首为0
sed 's/^M//g' file.txt //去除控制符
cat file.txt | sed 's/##*//g | s/^0*//g | s/^M//g //一起处理
sed 's/^[0-9]//g' file.txt //去除行首数
4、显示行
sed '2p' quote.txt //显示所有行,随后显示第二行
sed -n '2p' quote.txt //仅显示第二行
sed -n '1,3p' quote.txt //打印1-3行
sed -n '/Find/'p quote.txt //打印匹配Find行
sed -n '$p' quote.txt //打印最后一行
sed -n '1,$p' quote.txt //打印所有行,
sed -n '/.*ing/'p quote.txt //任意匹配字符
sed -n '/find/=' quot.txt //打印行号
sed -n -e '/find/=' quot.txt //打印行号和文本
5、删除文本
sed '1d' quote.txt //删除第一行
awk命令
awk -F:'commands' input file
1、抽取所有域,$0表示所有域,$1第一域
awk 'print $0' quote.txt
2、输出到文件中
awk '{print $0}' quote.txt | tee file.txt
3、追加信息在头awk 'BEGIN {print "Name belt\n......"} {print $1"\t"$4}' quot.txt
4、追加信息尾
awk 'BEGIN {print "Name \n..."} {print $1} END {print "end-of"}' quote.txt
5、查找匹配字符并输出所有字符中含name的行
awk '{if($0~/name/) print $0}' quote.txt
6、 精确匹配
awk '$2=="name" {print $0}' quote.txt
7、输出不匹配行
awk '$0 !~/name/' quote.txt
8、小于等于
awk '{if($2<=$3) print $1}' quote.txt
9、大小写
awk '/[Aa]sk/' quot.txt
10、 ^..表示首三个字母
awk '$1 ~/^..a/' quot.txt
11、 或关系匹配
awk '$1~/(ask|bid)/' quote.txt
12、输出记录数,内置
awk '{print NR}' quote.txtNR:文件记录数
NF:记录域个数
OFS:输出域分隔符
awk '{name=$1 }' quot.txt //设置输出到变量中
grep用法
1、行匹配,输出有几行数
grep -c "name" quote.txt
2、 输出行号+行内容
grep -n "name" quote.txt
3、输出行内容
grep "name" quot.txt
4、输出非匹配行
grep -v "name" quot.txt
5、 精确匹配
grep "name\>" quot.txt
6、 忽略大小写
grep -i "name" quot.txt
7、抽取name或者namb
grep 'nam[ab]' quot.txt
8、 表示行首不是na的行
grep '^[^na]' quot.txt
9、 不分大小写,并包含a的
grep ’[nN]ame' quot.txt | grep a
10、 匹配任意字符
grep '[a-z]..c' quot.txt
11、 包含数字4,至少出现2次
grep '4\{2,\}' quot.txt
12、 与或
grep -E 'a|b' quot.txt
13、 特殊字符钱加\
grep '\.' quot.txt
14、查询进程name
ps ax|grep "name"