linux与unix shell编程(2)

来源:互联网 发布:淘宝退货运费怎么算 编辑:程序博客网 时间:2024/05/19 12:14
第11章 合并与分割
sort,join,split,unique,cut,paste
1. sort命令
sort命令的一般格式为:
sort -cmu -o output_file [other options] +pos1 +pos2 input_files
下面简要介绍一下 sort的参数:
-c 测试文件是否已经分类。
-m 合并两个分类文件。
-u 删除所有复制行。
-o 存储sort结果的输出文件名。
其他选项有:
-b 使用域进行分类时,忽略第一个空格。
-n 指定分类是域上的数字分类。
-t 域分隔符;用非空格或 tab键分隔域。
-r 对分类次序或比较求逆。
-kn  n为域号。使用此域号开始分类。

2. 系统sort命令

3. unique命令
可以认为uniq有点像sort命令中唯一性选项。对,在某种程度上讲正是如此,但两者有一
个重要区别。 sort的唯一性选项去除所有重复行,而uniq命令并不这样做。重复行是什么?在
uniq里意即持续不断重复出现的行,中间不夹杂任何其他文本,
unique命令的选项:
-u 只显示不重复行。
-d 只显示有重复数据行,每种重复行只显示其中一行
-c 打印每一重复行出现次数。
-f n为数字,前 n个域被忽略。
一些系统不识别 -f选项,这时替代使用 -n。

第12章 tr用法
tr常用命令选项:
tr -c-d-s["string1_to_translate_from"]["string2_to_trinputate_to"]file
这里:
-c用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
-d删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
Input-file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用
1. 去除重复字符串
tr -s "[a-z]"<oops.txt
2. 删除空行
 tr -s "[\012]" <oops.txt
 tr -s "[\n]" <oops.txt
 sed 's/^$//g' oops.txt
 awk '/./ {print $0}' oops.txt
3. 大写转小写
   tr "[A-Z]" "[a-z]"<oops.txt
   tr "[:upper:]" "[:lower:]" <oops.txt
4. 删除指定字符
  tr -cs "[a-z][A-Z]" " <oops.txt
5. 转换控制字符
   tr -s "[\015\032\" "\n" <oops.txt
6. 快速转换
  如果需要删除文件中的^M,并代之以换行,使用命令:
  tr -s "[\015]" "\n" <input.file
  或者使用下述命令:
  tr -s "[\r]" "[\n]" <input.file
  也可以使用
  tr -s "\r" "\n" < input.file
  另一个一般的Dos到Unix的转换命令是:
  tr -s "[\015\032]" "[\012*]" <input.file   将所有的^M和^Z,代之以换行
  要删除所有的tab键,代之以空格,使用命令:
  tr -s "[\011]" "[\040*]" <input.file
7. 匹配多于一个字符
  可以使用[character*n]格式匹配多于一个字符
  模式为[0*4],意即匹配至少4个0,替换字符串为星号:
  tr "[0*4]" "*" <input.file



2011年8月26日 02时15分07秒
第13章 登录环境设置
登录成功后,系统执行两个环境设置文件,第一个是/etc/profile,第二个是.profile,位
于用户根目录下。

第14章 shell变量
1. 将变量并排就可以使变量的值结合在一起
2. 测试变量是否已经设置
(1)测试变量是否已经被设置或初始化
  ${varibale:-value}
(2)为变量赋予新值
  ${varibale:=value}
(3)测试变量是否取值
  ${varible:?}
  ${varible:?sorry can't locate the varible files"}
(4)测试变量是否取值,如果未设置,则返回一空串。方法如下:
${variable:+value}
使用下述方法初始化变量为空字符串。
variable=""
$DETINATION=""

3. 特定shell变量
$#    传递到脚本的参数个数
$*    以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个
$$    脚本运行的当前进程 ID号
$!    后台运行的最后一个进程的进程 ID号
$@    与$*相同,但是使用时加引号,并在引号中返回每个参数
$-    显示shell使用的当前选项,与 set命令功能相同
$?    显示最后命令的退出状态。 0表示没有错误,其他任何值表明有错误。

第15章 引号
在脚本中执行变量替换时最容易犯的一个错误就是由于引号错误。在命令行中引号是很重要的。
1. 引用必要性
 shell中的引用类型:双引号,单引号,反引号,反斜线
2. 双引号
  如果要查询包含空格的字符串, 经常会用到双引号。
  使用双引号可引用除字符 $、`、\外的任意字符或字符串。这些特殊字符分别为美元符号,
  反引号和反斜线,对shell来说,它们有特殊意义。
3. 单引号
  单引号与双引号类似,不同的是 s h e l l会忽略任何引用值。
4.反引号
 反引号用于设置系统命令的输出到变量。 s h e l l将反引号中的内容作为一个系统命令,并
 执行其内容。使用这种方法可以替换输出为一个变量。


第16章 shell脚本介绍

第17章 条件测试

1. 测试文件状态
-d    目录
-f    正规文件
-L    符号连接
-r    可读
-s    文件长度大于 0、非空
-w    可写
-u    文件有suid位设置
-x    可执行
2. 逻辑操作符
-a 逻辑与,操作符两边均为真,结果为真,否则为假。
-o 逻辑或,操作符两边一边为真,结果为真,否则为假。
! 逻辑否,条件为假,结果为真。
3. 字符串测试
 =  两个字符串相等。
 != 两个字符串不等。
 -z 空串。
 -n 非空串。
4. 数值测试
-eq 数值相等。
-ne 数值不相等。
-gt 第一个数大于第二个数。
-lt 第一个数小于第二个数。
-le 第一个数小于等于第二个数。
-ge 第一个数大于等于第二个数。


第20章 向脚本传递参数
1. shift命令


第21章 创建屏幕输出

第24章 shell嵌入命令

:  空,永远返回为true
.   从当前shell中执行操作
break  退出for、while、until或case语句
cd      改变到当前目录
continue  执行循环的下一步
echo      反馈信息到标准输出
eval      读取参数,执行结果命令
exec      执行命令,但不在当前shell
exit      退出当前shell
export    导出变量,使当前shell可利用它
pwd       显示当前目录
read      从标准输入读取一行文本
readonly  使变量只读
return    退出函数并带有返回值
set       控制各种参数到标准输出的显示
shift     命令行参数向左偏移一个
test      评估条件表达式
times     显示shell运行过程的用户和系统时间
trap      当捕获信号时运行指定命令
ulimit    显示或设置shell资源
umask     显示或设置缺省文件创建模式
unset     从shell内存中删除变量或函数
wait      等待直到子进程运行完毕,报告终止



















































































































































 
























原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 信封封条破损了怎么办 奶粉罐子扁了怎么办 奶粉邮寄爆罐怎么办 奶粉打开爆罐怎么办 海关包裹被扣怎么办 天猫未收货显示签收怎么办 物流显示包裹破损怎么办 快递寄鞋盒破损了怎么办 邮寄东西碎了怎么办 快递屏幕碎了怎么办 快递东西破了怎么办 收快递东西损坏怎么办 快递寄新鲜东西怎么办 寄东西损坏了怎么办 顺丰写错电话号码已签收怎么办 快递包装扔了怎么办 淘宝快递损坏了怎么办 买家寄过来破损怎么办 卖家发假单号自动签收怎么办 ems快递包裹破损怎么办 微波炉外包装扔掉退货怎么办 交警判决不服该怎么办 如果判决不服该怎么办 学不会看卡尺怎么办 我学不会卡尺怎么办 卡尺表针歪了怎么办 电喷摩托车没电怎么办 话筒插头坏了怎么办 电柜接线看不懂怎么办 发动机缸盖渗油怎么办 吃杏吃多了肚子难受怎么办 住院单据丢了怎么办 医院单据丢了怎么办 购房单据丢了怎么办 废电瓶回收手续怎么办 ai置入图片过大怎么办 ps 弄错纸张大小怎么办 屁股沟发炎红肿怎么办 房间里床太大怎么办 房间太小放不下桌子怎么办 没衣柜一堆衣服怎么办