shell编程说白了就是常用命令和语法结构的自由组合.所以本文将粗略介绍一下常用的命令以及其用法.
正则表达式
符号和用法
* .
匹配任何单个字符[shell用的是?]
* ^
跟行首匹配
* $
跟行尾匹配
* *
匹配0或若干个紧靠在星号前的字符[shell是0或若干跟字符]
* []
匹配字符组,^表示除外[shell用!表示]
* {min,max}
匹配min-max个重复的字符串
* {...}
将小括号中匹配的字符串存储到一个寄存器中
cut命令
从文件中吸取各种各样的数据域
取第2-10个字符串
1cut -c2-10 file
`
以:为分割符分割file,取第2个数据域
1cut -d: -f2 file
`
paste命令
paste与cut相反,把多行合并在一起[行对行]
以:为分割符,将两个文件行对行合并起来
1paste -d: file1 file2
`
tr命令
tr可以转换来自标准输入中的字符
将file里面from-chars替换成to-chars
1tr ‘from-chars’ 'to-chars' < file
`
grep命令
grep查找多个文件中包含的单词或短语
用法 – 支持正则表达式
1grep ‘patten’ filespatten
参数
-i
忽略大小写-n
显示行号-v
显示不包含指定模式的行-l
显示包含指定模式的文件列表
awk命令
awk强大的文本编辑利器之一,方便于列处理
用法
1awk ‘模式{操作}’ files
参数
NR
当期处理行的行号FS
字段分割符,缺省为空格或tab$n
当前行的第n个字段$0
当前行的所有文本
sed命令
sed强大的文本编辑利器之一,方便于行处理
用法
1sed ‘[地址1[,地址2]]操作’ file
参数
p
打印n
转到下一行d
删除s
替换字符串a
追加新的文本