自己整理的一些shell命令

----------------------------grep ---------------------------------------------------------------------------------------------
grep -n "" file                                      把文件添加行数!输出
grep -i -E "^Lin|^lu" file                      匹配不分大小写! 匹配 lin 和lu
grep -l 'lin' *                                        打印匹配的文件名,不打印内容
grep -c '^l' file                                     打印匹配以 l作为开头的内容
grep -c '^.l' file                                    匹配 第二个字符为l的内容
grep -c 'linlin' file                                  打印有多少匹配行
grep -q '' " file   -q                               取消grep的所有输出,在只需要退出状态值的场合这个选项就显得非常有用
grep 2 *                                             在所有的文件中搜索“2”
grep '9$' *                                          以9结束
cat file |grep -E "(^[0-9]+\.[0-9]+\.[0-9+\.[0-9]+)"             把匹配的ip过滤出来!
find ./ |xargs grep  "keyword"            找出当前目录下,文件内容包含keyword的文件
--------------------------------------------------------------------------------------------------------------------------------
------------------------------------------awk/sed----------------------------------------------------------------------------

sed '/\.HA/ { n; /^$/d}' file          -- 匹配 ".HA" 的下一行,如果是空行则删除
sed -n '=;p' file                      --打印出文件内容,和行号
sed 'a\end' file                       --追加"end"内容,在文件最后
sed '/^\.HA/r file2' file1             --匹配开头为 .HA 的行,并且把file2的内容追加到这一行后面
sed '/^\.HA/w file2' file1             --匹配开头为 .HA 的行,并且把匹配到的行,写入到file2
sed '100q' file  等于  head -n 100 file
sed -n '3,4p' file                     --打印3到四行
sed '/love$/ { N;s/love\nlulu/love denis/}' file   --追加到下一行,可以替换2个单词不在同一行
sed '/^[ ]*$/ { N; /^\n$/d } ' file                   --删除多余的空行,变成一个空行
sed  's/@f1(\([^)]*\))/@f2(\1)/g' file          ---把文件中 @f1(content) 换成 @f2(content),通过\1回调匹配内容
sed ':a;{N; s/\(.*\)\n\(.*\)/\1 --ignore-table=trade.\2/g;ba;}' table    --把表明全部追加到一行里
sed '/1/ { h;d};/2/ { G}' file       --把匹配1的行,复制到保持空间里,然后删除模式空间,读入匹配2的行,并且追加保持空间的行进来
awk '/^$/ {x=x+1}END{ print x}' file        --计算有多少行空行
awk 'BEGIN{FS=","}{print NF}' file          --计算每一行有多少个字段,用逗号作为分隔符
awk '$0 ~ search {print $0}' search=$1 file  --传参数匹配

--------------------------查看软件包的编译参数-----------------------------------------------------------------------
linux下查看nginx,apache,mysql,php的编译参数
1、nginx编译参数:
#/usr/local/nginx/sbin/nginx -V

2、apache编译参数:
# cat /usr/local/apache/build/config.nice

3、php编译参数:
# /usr/local/php/bin/php -i |grep configure

4、mysql编译参数:
# cat /usr/local/mysql/bin/mysqlbug|grep configure
--------------------------------------------常用小问题---------------------------------------------------------------------

1.如何挂载U盘内容:
mount -t vfat /dev/sdb1 /mnt/usb
2.如何查看系统是多少位操作系统
getconf LONG_BIT
3.如何开启某个端口
iptables -I INPUT -p tcp  --dport 端口 -j ACCEPT
4.如何查看某些软件需要什么依赖库
ldd   软件包的执行文件
5.查看 linux的发行版
cat /etc/issue
6.kill掉用户
pkill -kill -t tty
如pkill -kill -t pts/1
7.vi 里支持中文
vi ~/.vimrc

set autoindent
syntax on
set backspace=indent,eol,start
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=cp936
 

 

-------------------------------------友友购物网

你可能感兴趣的:(shell,awk,sed)