shell笔记

去掉windows换行符

sed -i "s/^M//g" old.txt >new.txt (ctr+v ctrl+m)


awk多域分隔(-=+)

awk -F'[-=+]'  '{print $3}' file

awk -F'"' '{i+=$(NF-1);j++} END{ printf("%.3f,$d", i/j, j)}' access.log #统计数量及平均响应时间


踢除在线用户

强制踢人命令格式:pkill -kill -t pts/3
踢出tty1用户的命令为: pkill -kill -t tty1 


加入另一个组

usermod -G newgroup username


vim使用sort排序

%!sort


打印第2列后面所有列

awk '{$1="";print $0}' filename


删除包含特定字符的行:

g/pattern/d   

 

删除不包含指定字符的行:

v/pattern/d

g!/pattern/d

 

现实TAB键以及空格等:

set list!

删除指定的行:

:x,.d #从x行删除到当前行;
:.,xd #从当前行删除到x行;
:x,.+3d #从x行删除到当前行后第三行;
:x,.-1d #从x行删除到当前行前一行。



rpm 等包方式的话,就要查其中的数据库了,比如 rpm -q 进行查询.
-q  <== 查询(查询本机已经安装的包时不需要版本名称)
   -qi   #查询被安装的包的详细信息(information)
   -qa | grep dhcp  <== 列出所有被安装的rpm package 
   -qc 列出配置文件(/etc下的文件)
   -qd 列出帮助文件(man)
   -ql dhcp     <== 查询指定 rpm 包中的文件列表
   -qf /bin/ls  <== 查询哪个库里包含了 ls 文件(注意,需要安装了 /bin/ls 后才能查到)
   -qp < rpm package name>  <== 根据rpm包查询(.rpm 文件),可以接其他参数(如i查详细信息,l查文件列表 等)
   -qR 列出需要的依赖套件


gvim

按ctrl   +   q,
然后把光标移动(必须用h(左)j(下)k(上)l(右)键盘移动)到首行,最后一列,看到第一行已经选好了。然后输入(行数)j(例如1000000j)选定要删除多少行(多于最大行数则选定到最后一行)。再按d键,就可以删除。

你可能感兴趣的:(shell,笔记)