Linux如何使用正则表达式命令?文本文件操作命令

发表于:2019-5-23 10:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:王海军老    来源:今日头条

  Linux对文本操作命令及正则表达式:
  一、文本文件操作命令:
  文本文件操作命令
  cat
  cat 是 concatenate 的缩写,所以它的作用其实是连接文件。但默认情况下它会将连接文件的结果送到标准输出。所以我们常用来显示文件内容。类似于 dos 中的 type。
  参数:
  -n 或 --number由 1 开始对所有输出的行数编号
  -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
  -s 或 --squeeze-blank当遇到有连续两行以上的空白行,就代换为一行的空白行
  -v 或 --show-nonprinting
  #cat /etc/passwd查看用户帐号文件
  more
  当一个文件的内容超过一屏后,我们可以用 more 这个指令来逐屏察看文件内容。
 #more install.log 查看 install.log 文件
  less
  less 在 more 的基础上,更可以逐行察看,前后翻页。
 #less /etc/shadow 查看用户密码文件
  head
  head 显示文件开头部分内容,默认显示前十行参数 --lines 或者 –n 指明显示行数基本格式:
   head [参数] 文件
  -cN 输出文件的前 N 个字节。
  -nN 输出文件的前 N 行。
  -q 不输出文件名的信息。
  -v 输出文件名的信息。
  --help 在标准输出上输出帮助信息并退出。
  --version 在标准输出上输出版本信息并退出
  #head /etc/mail/sendmail.mc 默认查看文件的前 10 行内容
  #head –n 20 /etc/passwd查看文件前 20 行内容
  tail
  tail 显示文件结尾部分内容,命令用法同 head,参数 -f 显示文件的纪实更新,用于监视日志文件
  tail 默认显示文件列表中每个文件的后 10 行,如果没有文件名或文件名为“-”则其从标准输入中读取文件,如果有多个文件则其会在文件前面加上“==>文件名<==”以便区别。
   -cN 显示文件后部的 N 比特大小的部分,N 后面可以跟 bkm 参数。
  b512 比特的块。
  k1k 的块。
  m1M 的字节块。
  -f 如果文件的大小在增长的话,tail 将跟随文件的增长而显示。
  -l,-nN 显示文件的尾部 N 行。
  -v 一直输出“==>文件名<==”形式的文件。
  --help 在标准输出上显示帮助信息然后退出。
  --version 在标准输出上显示版本信息然后退出。
  # tail /etc/mail/sendmail.mc默认查看文件的后 10 行内容
  # tail –n 20 /etc/passwd查看文件后 20 行内容
  注意: # tail –f /var/log/message实时监控日志文件更新信息,非常重要
  二、正则表达式:
  
  正则表达式
   .表示任何一个单一字符
  .*表示零个或任意个字符
  ^a表示以a 为首的行
  a$表示以 a 为尾的行
  <good 表示以 good 开头的单词
  Sh>表示以 sh 结尾的单词
  [abc]表示当前位置 a、b 或 c
  [^abc]表示除了 a、b、c 以外的字符
  a*表示空、a、aa、aaa、乃至更多个 a
  a?表示一个或零个单独的 a
  a+表示 a、aa、aaa 乃至更多个 a
  a{n}表示重复了 n 次的 a
   三、对文本的操作:
  
  对文本的操作
  diff
  diff 用于比较两个文件之间的区别,并送到标准输出。输出时先报告两个文件的哪一行不同。基本格式:
 diff [-wV][-n <文件名长度>][-p <文件名长度>]
  参数:
   -a将所有文件当做文本文件来处理。
  -b忽略空格造成的不同。
  -B忽略空行造成的不同。
  -q只报告何处不同,不报告具体信息。
  -c使用纲要输出格式。
  -e输出 ed 可以编辑的格式。
  -f输出同-e 类似的反序格式。
  -H 利用试探法加速对大文件的搜索。
  -I忽略大小写的变化。
  -l用 pr 对输出分页。
  -n输出 RCS 格式。
  -r比较目录时比较所有的子目录。
  -v在标准输出上输出版本信息并退出。
  uniq 用于去除文本中相邻的重复行。
  -u 参数可以只显示那些没有被重复过的行。-d 显示有被重复过的行。
  cut
  cut 可以根据一个指定的标记(默认是 tab)来为文本划分列,然后将此列显示。使用权限:所有使用者
  基本格式:cut -cnum1 -num2 filename
  说明:显示每行从开头算起 num1 到 num2 的文字。
  [root@uplooking root] $ cut –f1 –d: /etc/shadow 表示以:为分隔符,显示/etc/shadow 的第一列sort
  sort 用来按各种需要重新排列文本,一般运用在一个管道之后。例如:
   $ ls-a | grep bash | sort
  $ ls-a | grep bash | sort -r
  默认情况下 sort 按照字母顺序排列文本。
   -n按照数字排序
  -r反向排序
  -u将重复的行去除
  wc
  wc 用来统计一个文件的行数、词数、字数并送到标准输出。也可以用-l(行数)、-w(词数)、-c(字数)来指定输出内容。
   wc [参数] 文件
  -c 只输出字节数。
  -w 只输出单词数。
  -l 只输出行数。
  wc –l /etc/passwd 可以显示目前/etc/passwd 有多少行

      上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号