Shell编程(一)

目录

(一)正则表达式

1.1正则表达式和通配符

在shell中一般:

  • 正则表达式用来,包含匹配字符串
  • 通配符用来,完全匹配文件名

1.2基础正则表达式

Shell编程(一)

1.3实例

# 匹配所有内容
grep "a*" file1
#匹配a..的行
grep "aa*" file1
#[aeiou]其中一个字符的行
grep "[aeiou]" file1
#[^aeiou] 取反
#匹配连续出现3次a的行
grep "a\{3\}" file1
#匹配连续出现至少3次a的行
grep "a\{3,\}" file1
#匹配连续出现至少3次a, 至多5次
grep "a\{3,5\}"

(二)字符截取命令

1.1 cut字符提取命令

Shell编程(一)

# 默认分割符为制表符\t
cut -f 2 file1 
cut -f 2,3 file1
# 以:为分隔符
cut -d ":" -f 2 file

在处理空格的时候,不好使用

1.2 printf命令

Shell编程(一)
Shell编程(一)

# printf的输入 不能是文件也不能用管道符
printf "%s" $(cat file1)

1.3 awk命令

awk “条件1{执行1}条件2{执行2}” 文件

执行可以是语句或流程

df -h | awk '{print $5}' | cut -d "%" -f 1

#以fs(:)为分割,打印第5列
awk 'BEGIN{FS=":"} {print %5}' /etc/passwd

1.4 sed命令

 sed是轻量级编辑器,可以对数据进行修改、添加、替换、删除等。
 和vim只能对文件修改不同,它可以对流(另一个命令输出的结果),也可以对文件修改。
Shell编程(一)
Shell编程(一)

# 不加-n,屏幕会输出第二行和整个结果
df -h | sed -n '2p'

#删除2,3行
df -h | sed '2,3d'

#第二行后添加
df -h | sed '2a tian \ jia'

#加-i才会改变文件本身
#把file文件第二、三行的a替换成b
sed -i '2,3s/a/b/g' file

(三)字符处理命令

1.1sort命令

Shell编程(一)

1.2wc统计命令

Shell编程(一)

上一篇:使用python自动给字符串进行切词


下一篇:python的中文分词