linux三剑客
grep
grep "oldboy" test.txt 过滤掉文件中oldboy的字符串
-v 排除选中字符
egrep "3306|1521" /etc/services 过滤出3306或1521两数字所在的行
awk
awk '/oldboy/' test.txt '/ /' 过滤出选中的字符
'!/ /' ! awk中表示取反排除选中的字符
awk 'NR==20' /oldboy/ett.txt 'NR==20' 取行 'NR==20,NR==30'取出20-30行
awk -F "[, ]" '{print $3,$6}' oldboy.txt -F '[ ]' 指定分隔符 -F '[ ]+' 指定连续分割
'{print $3,$6}' 取分割后的第三列和第六列
sed
sed '/oldboy/d' test.txt '/ /d' 排除选中的字符 d表示删除 -i 生效删除选中内容
sed -n '20p' /oldboy/ett.txt -n '20p' 取行
-n '20p,30p' 取20到30行
sed 's#oldboy#oldgirl#g' /oldboy/t.sh 's#找谁#替换为什么#g' 替换文件内容
sed -i 's#oldboy#oldgirl#g' /oldboy/t.sh -i 生效替换内容=修改文件内容