欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

shell编程 7 字符串截取与字符串处理

程序员文章站 2022-04-17 09:01:51
...
一,字符串截取
1,cut与grep的区别
   grep提取指定的行, cut提取指定的列
   cut [选项]  文件名
   cut  -f 列号          提取第几列
   cut  -d 分隔符        按照指定分隔符分割列


2,printf 格式化输出命令
  printf '%s%s\n' $(cat test.txt) 将cat.txt文件中的内容做前两个合并并换行输出的格式化处理
  print与printf的功能相似,只是print在后面自动加了一个换行符,printf需要手动换行


3,awk与printf命令结合
  cut命令不能以空格作为分割符 cut -d "" -f 2 这是行不通的,awk命令就能做到所以就要用到awk命令了。
  awk '条件1{动作1}条件2{动作2}...'  文件名
  awk读取所有的内容赋予变量$0代表总行,$1代表第一列,$2代表第二列
  awk '{print $2"\t" $6"\n "}' test.txt  将test.txt中的第2列到第6列文件内容制表符换行处理


4,sed命令与vim的区别(sed是流编辑器)
sed能对命令的结果的数据进行增删改查,还能对文件中的内容进行增删改查
vim只能对文件进行增删改查
sed [选项] 动作  文件名
sed -n '3p' test.txt      只输出test.txt文件中第3行的内容
df |sed -n "3p"           将df的输出结果的第3行内容输出
sed  '3c no person' test.txt     将test.txt文件中第3行的内容替换成no person(行替换)
sed -i '3s/99/55/g'  student.txt  将test.txt文件中第3行的99替换成55(-i 保存到文件)




二,字符串处理
1,sort [选项]  文件名
   -f      忽略大小写
   -n      使用数值型进行排序,默认是使用字符串型排序
   -r      反向排序
   -t      指定分隔符,默认分隔符是制表符
   -k n[,m]     按照指定的字段范围排序,从第n字段开始,m字段结束(默认带行尾)