个人用到的比较常用的命令:
1、linux下挂在windows指定用户的共享目录
mount -t cifs 192.168.0.1:lamp /mnt -o username=lamp,password=password
2、设置vim到最适合自己使用习惯.
# vim ~/.vimrc
set hlsearch
set backspace=2
set autoindent
set ruler
set showmode
set nu
set bg=dark
syntax on
解释:hlsearch是高亮显示,backspace=2是说允许用退格键删除文本,autoindent是自动缩行,写脚本的时候常用,ruler是现实右下角的状态说明,showmode是指现实目前状态如INSERT等,nu是显示行号,bg=dark是为了解决一些注释的语句是深蓝色,在黑背景下不容易显示.syntax on指根据程序相关语法显示不同颜色.
set autoindent也有副作用,他的副作用就是,如果你是粘贴文本,如man手册,用vim粘贴,那会累积tab,导致格式错误.注意,这个选项只在用vim编辑脚本的时候用合适.
3、逐行读取文件并赋值脚本,每行有n列,任意分隔符.这里分隔符为“:”,如果只是用cat做分隔符,可以把“-F:”省略.awk具体用法自己看man手册或百度google.
[root@localhost test]# cat ccc
111:222
444:555
[root@localhost test]# cat a.sh
#!/bin/bash
awk -F: ''{print $1" "$2}'' ccc|while read A B;do
a=$(($A 1))
b=$(($B 2))
echo $a,$b
done
[root@localhost test]# ./a.sh
112,224
445,557
4、格式输出.竖排变横排
(1)用xargs
# df
拥有帝国一切,皆有可能。欢迎访问phome.net
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda2 81256500 8604508 68457824 12% /
/dev/sda1 101086 11773 84094 13% /boot
tmpfs 4087168 0 4087168 0% /dev/shm
# df|sed -n 2,3p|gawk ''{print $6"t"$5}''
/ 12%
/boot 13%
# df|sed -n 2,3p|gawk ''{print $6"t"$5}''|xargs
/ 12% /boot 13%
成了单行输出,这里就好解决了,用前边提到的while read就能读取到变量里了,想干啥随便你了.
如:
# cat test.sh
#!/bin/bash
# script to capture system statistics
/bin/df|sed -n 2,3p|gawk ''{print $6"t"$5}''|xargs|gawk ''{print $1,$2,$3,$4}''|while read A B C D;do
echo $A,$B,$C,$D
done
(2)用awk的函数命令
介绍会用到的两个函数:OFS和ORS
OFS是定义gawk的分隔符
ORS是定义换行符(小bug,定义换行符了以后,用完gwak,#不会重新换行,而是紧跟在你定义的ORS之后)
例如:
[root@localhost test]# cat a
aaa bbb
ccc ddd
[root@localhost test]# awk ''{OFS="---"}{ORS=" "}{print $1,$2}'' a
aaa---bbb ccc---ddd [root@localhost test]#
[root@localhost test]# awk ''{OFS="t"}{ORS="n"}{print $1,$2}'' a
aaa bbb
ccc ddd
看到例子的第二个输出了吧. ,其会吧$1和$2之间的分隔符用OFS替代,即指定了分隔符为什么.ORS为替换换行符,换行符用 替代.当然大家可以用任何你喜欢的字符串进行操作的,如 又将分隔符换为tab制表位,将换行符接着换回回车换行符,这样显示就对了吧.
拥有帝国一切,皆有可能。欢迎访问phome.net
本文出自 “周旭光_不断进取” 博客,谢绝转载!
拥有帝国一切,皆有可能。欢迎访问phome.net |