系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > Linux Shell文本处理命令

Linux Shell文本处理命令汇总(7)

时间:2014-12-31 15:50:39 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20141231/33843.html 手机查看 评论

  •确定文本

  打印处于start_pattern 和end_pattern之间的文本;

  代码如下:

  awk ‘/start_pattern/, /end_pattern/’ filename

  eg:

  代码如下:

  seq 100 | awk ‘/13/,/15/’

  cat /etc/passwd| awk ‘/mai.*mail/,/news.*news/’

  awk常用内建函数

  index(string,search_string):返回search_string在string中出现的位置

  sub(regex,replacement_str,string):将正则匹配到的第一处内容替换为replacement_str;

  match(regex,string):检查正则表达式是否能够匹配字符串;

  length(string):返回字符串长度

  代码如下:

  echo | awk ‘{”grep root /etc/passwd“ | getline cmdout; print length(cmdout) }’

  printf 类似c语言中的printf,对输出进行格式化

  eg:

  代码如下:

  seq 10 | awk ‘{printf ”-》%4s\n“, $1}’

  迭代文件中的行、单词和字符

  1. 迭代文件中的每一行

  •while 循环法

  代码如下:

  while read line;

  do

  echo $line;

  done 《 file.txt

  改成子shell:

  cat file.txt | (while read line;do echo $line;done)

  •awk法:

  cat file.txt| awk ‘{print}’

  2.迭代一行中的每一个单词

  代码如下:

  for word in $line;

  do

  echo $word;

  done

  3. 迭代每一个字符

  ${string:start_pos:num_of_chars}:从字符串中提取一个字符;(bash文本切片)

  ${#word}:返回变量word的长度

  代码如下:

  for((i=0;i《${#word};i++))

  do

  echo ${word:i:1);

  done

  上面就是Linux中文本处理命令的详细介绍了,因为涉及的命令较多,本文只是做了简单的介绍,如果想深入了解某个命令用法的话,不妨关注下系统之家吧。

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录