Linux find grep cat xargs命令学习

来源:互联网 发布:腾龙信息网络工程公司 编辑:程序博客网 时间:2024/05/16 23:47

Linux find grep cat xargs命令学习

一、find

1、基本命令

find . -name "*.txt"find . -name "*.txt" -print

解释:

  • 显示当前目录下名称匹配*.txt的文件,并打印出到控制台
  • [.] 表示在当前目录以及子目录中查询;
  • [-name] 表示通过文件名进行查询,还有各种其他的参数,例如 -size -type 等等
  • [“*.txt”] 表示查询条件,支持正则表达是

2、find命令的其他参数

  • -type 按照文件类型查找 b/d/c/p/l/f 设备、目录、字符设备、管道、符号链接、普通文件
  • -size 按照文件大小查找,例如:find -size +1000c 查找大于1K的文件
  • -empty 查找为空的文件或者文件夹
  • -exec 对匹配到的文件,执行命令
    • 基本用法:-exec 命令 {} \;
    • 例如:查找文件,并显示文件列表:-exec ls -l {} \;
  • -ok 和-exec一样,只是执行命令前会询问用户

二、grep

global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来
基本用法:grep -n 'www' log1.txt

在log1.txt文件中,查找www,并打印行号

选项:

  • -a :将 binary 文件以 text 文件的方式搜寻数据
  • -c :计算找到 ‘搜寻字符串’ 的次数
  • -i :忽略大小写的不同,所以大小写视为相同
  • -n :顺便输出行号
  • -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行!
  • –color=auto :可以将找到的关键词部分加上颜色的显示喔!

三、xargs

组合多个命令,并传递参数

选项:

  • xargs的默认命令是echo,例如:ls -l | xargs
  • -p选项:交互式提问y来确认命令的每次执行
  • -t 在执行前回显各个command
  • -n 限制每次传递进来参数的个数

四、cat

cat命令三大功能

  • 一次显示整个文件。$ cat filename
  • 从键盘创建一个文件。$ cat > filename
  • 将几个文件合并为一个文件: $cat file1 file2 > file

选项

  • -n 或 –number 由 1 开始对所有输出的行数编号
  • -b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
  • -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -v 或 –show-nonprinting

例子

把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3

注意:>是创建文件,>>是追加内容

五、head、tail 、sed

head 查看文件开头部分

  • -q 隐藏文件名
  • -v 显示文件名
  • -c<字节> 显示字节数
  • -n<行数> 显示的行数
head -n 5 log2014.loghead -c * log2014.log

tail 查看文件结尾部分

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示行数
  • –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
  • -q, –quiet, –silent 从不输出给出文件名的首部
  • -s, –sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
tail -n 5 log2014.log -- 显示文件最后5行内容tail -f test.log -- 循环显示文件末尾内容tail -n +5 log2014.log -- 从第5行开始显示文件

sed

sed -n '3p' datafile – 只打印第三行
sed -n '100,200p' mysql_slow_query.log 只查看文件的第100行到第200行

参考:
http://www.cnblogs.com/emanlee/archive/2013/09/07/3307642.html

0 0
原创粉丝点击