tr命令:字符替换和删除命令
-s:删除所有重复出现字符序列,只保留一个
例:tr -s filename--------------将filename所有重复字符序列删除
-d:删除指定字符
例:tr -d "\n\t" filename------将filename里所有的换行符,制表符删除
-c:用给定字符集替换此字符集的补集
例:tr -c "[a-z]" "\n" filename-将filename里所有非小写字母用换行替换
例:vi tr.txt
And the cowwwws went homeeeeeeeee
or did theyyyyyyy
命令:tr -s "[a-z]"<tr.txt -------------删除tr.txt里所有小写字母重复字符
结果为:And the cows went home
or did they
要删除空行只需删除重复换行符即可:
例:tr -s "[\n]" filename
将文件里内容大小写转换:
tr "[a-z]" "[A-Z]" filename -------------将filename所有小写字母变成大写字母
tr "[A-Z]" "[a-z]" filename -------------将filename所有大写字母变成小写字母
也可使用字符集[:lower:]------[a-z] [:upper:]------[A-Z]
环境变量:
设置变量:value="fabregas"-------value值为fabregas
echo $value结果为:fabregas
EXINIT:保存vi编辑器初始化选项:
例:EXINIT=‘set nu’;export EXINIT
vi打开时会自动显示行数,export是设置的变量可以被其他使用
HOME:设置家目录,即单纯cd跳往的地方
IFS:shell 缺省分隔符
PS1:基本命令提示符
PS2:附属提示符
特殊shell变量:
$#:参数个数
$*:以一个单字符串显示所有参数
$$:脚本运行当前ID号
$!:后台运行最后一个进程ID号
$@:与$#相同,但是加了引号
$-:显示shell使用的当前选项
$?:命令退出状态,0表示正确,其他表示错误
引号:
单引号和双引号差不多,
`----反引号:shell将反引号中内容作为一个系统命令
例:echo `clear`--------------执行清屏命令
linux下echo命令用-e 选项使转义字符生效
例:echo "\n"---------------打印\n字符串
echo -e "\n"------------------打印换行
test命令:测试命令
test -x filename-----------测试文件是否可执行
test -d filename----------测试文件是否为目录
test string1 = string2----测试string1是否等于string2,注意等号两边一定要加空格
test -n string---------------测试字符串长度是否非零
test有很多选项,具体参加test命令,test结果可以用echo $?查看,为0表示正确
测试逻辑操作符:
-a:与
-o:或
!:非
[ -w filename1 -a -x filename2 ]---------测试filename是否可写且filename2是否可执行,注意[后面和]前面一定要有空格,-o与!选项类似
expr命令:用于整数值计算,也可用于字符串
例:expr 10 + 10
结果:20.
一定要注意+两端要有空格
expr 23 \* 5
结果:115
*要加转义符,不用忘了空格
expr 30 / 5 / 2
结果:3
还是不要忘了运算符两端的空格
expr通过:选项计算字符串字符个数,.*匹配任何字符
例:expr ”hello“ :‘.*'
结果:5