当前位置: 首页 > news >正文

建设淘宝网站需要多少钱吉林市做网站公司

建设淘宝网站需要多少钱,吉林市做网站公司,海南注册公司多少钱,wordpress备案号居中目录 问题引入 find和grep的基本区别 xargs命令 Linux命令的标准输入 vs 命令行参数 举例总结 问题引入 在自己做项目的过程中,想使用linux命令统计下一个目录下html文件的数量,在思考应该使用grep还是find去配合wc指令统计文件数量,后来…

目录

问题引入

find和grep的基本区别

xargs命令

Linux命令的标准输入 vs 命令行参数

举例总结


问题引入

        在自己做项目的过程中,想使用linux命令统计下一个目录下html文件的数量,在思考应该使用grep还是find去配合wc指令统计文件数量,后来尝试了一下,发现都是可以的。

[zebra@VM-8-12-centos input]$ ls -Rl | grep -E '*.html' | wc -l
8429
[zebra@VM-8-12-centos input]$ find ./ -name '*.html' | wc -l
8429

虽然成功解决了问题,但是我不是很理解两者的区别,于是深入研究了一下。

find和grep的基本区别

  • find搜索的是文件(搜索结果是包括路径的文件名,所以后续可以直接根据文件名操作文件),搜索的匹配条件是文件
  • grep搜索的是字符串,搜索的匹配条件是行
  • find类似windows下的搜索文件功能
  • grep类似windows下的Ctrl+f查找字符串的功能

        这也就解释了为什么用grep的时候,需要先ls -Rl,因为grep搜索的匹配条件是行,所以需要先把一条条文件信息列出来,把ls的结果通过管道|传给grep去搜索。   


      后来我发现find结合xargs可以实现查找目录下文件内容行数的功能,就想知道xargs的作用,以及它和管道|之间的区别和联系

find ./ -name '*.html' | xargs wc -l
...123335 total

xargs命令

 xargs命令的作用,就是将标准输入转为命令行参数。基本使用方式如下:

指令A | xargs 指令B 

        将指令A的标准输出通过管道|传递给xargs,管道传递过来的是标准输入,xargs接收到标准输入后,把标准输入转换成命令行参数,交给指令B去执行。可是这有什么用呢?——接着往下看


Linux命令的标准输入 vs 命令行参数

我们需要知道Linux命令的标准输入与命令行参数的概念

        linux命令可以从两个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入。有些命既能读取标准输入,又能读取命令行参数(命令行参数优先);但是有些指令只能读取命令行参数。

        而管道|就是将前面的标准输出转换成后一条指令的标准输入,但是后一条指令不一定能够读取标准输入,例如 kill , rm 这些程序如果命令行参数中没有指定要处理的内容则不会从标准输入中读取

        xargs就可以将前一条指令的标准输出的字符串,根据空格分割成命令行参数,并以命令行参数的形式交给后一条指令,从而使得一些不能从标准输入里面读取内容的指令可以做到从管道中读取命令行参数。


举例总结 

ls -Rl | grep -E '*.html' | wc -l:查找当前目录下html文件的个数

        ls列出来的是文件的基本属性信息,这些字符串通过管道传递给grep指令,grep在文本中查找行中以html结尾的(-E表示使用正则匹配),然后交给wc统计行数,行数就是html文件的个数。

find ./ -name '*.html' | wc -l:查找当前目录下html文件的个数

        find查找出来的是一行行文件名(包括路径),|只能将这些文件名以字符串的形式作为下一条命令的标准输入,所以wc得到的是一个个字符串,查找行数就是html文件的个数。

find ./ -name '*.html' | xargs wc -l:查找html文件里面的代码行数

        xargs指令可以将前一条指令通过|传递过来的字符串,根据空格分割成命令行参数,并交给后一条指令,wc属于既能通过命令行参数读取,又能通过标准输入读取的指令,优先读取命令行参数,于是就相当于执行 wc -l 文件路径+文件名,这样就会读取文件中的内容,统计文件的行数。

        本文只是介绍了xargs的基本功能,实际上xargs还有很多实用的选项,比如:

        -d:可以更改xargs分割参数的分隔符(默认是按空格分割)

        -p:打印出要执行的命令,询问用户是否要执行

        -t:则是打印出最终要执行的命令,然后直接执行,不需要用户确认。

        -L:如果标准输入包含多行,-L参数指定多少行作为一个命令行参数。

        -I:指定参数的位置

        ......

具体大家可以去问那个男人(滑稽)(man xargs)

http://www.yayakq.cn/news/623670/

相关文章:

  • 广企网站建设哪个网站可以接做美工的活儿
  • ipv6改造网站怎么做德阳定制建站网站建设制作
  • spark网站开发做网站公司logo
  • idc 公司网站模板如何查询网站的外链
  • wix建站教程怎么做关不掉的网站
  • 汕头cms模板建站黄村网站建设报价
  • 网站注册需要多少钱能看实物的地图软件
  • 门户网站建设提案动漫制作专业需要绘画基础吗
  • 一个ip地址上可以做几个网站吗河南网站优化公司
  • 行政单位单位网站建设网站备案什么注销
  • 网站搜索框宁波网站建设信息推荐
  • 苏州有哪些做网站百度引擎
  • 网站审批智能建站的优势和不足
  • 网站服务器名是什么广告发布费属于什么服务
  • 做企业网站设计价格是多少钱网站开发到上线的流程
  • 企业做网站注意事项明薇通网站建设
  • asp网站镜像代码免费看电视的网站
  • vps设置网站访问用户权限四川纵川建设机械有限公司网站
  • 国外网站 dns重庆网站开发哪家好
  • 电子商务网站体系结构有哪些做外贸有哪些免费的网站
  • 做电子书网站学校网站建站
  • 花钱做网站注意什么用手机做网站的app
  • 网站如何做超链接广州奕联网站开发
  • 绍兴柯桥哪里有做网站的百度自助网站建设
  • 北京商务网站建设什么是网络运营
  • 成都建设厅官方网站英语网站都可以做哪些内容
  • 上传自己做的网站海南网站建设推广公司
  • 南博网站建设太原哪家网站建设公司好
  • 犀牛云网站建设公司在线表情包制作网站
  • 不想用原来的网站模板了就用小偷工具采集了一个可是怎么替换西安百姓网免费发布信息网招聘