文件过滤及内容编辑处理命令1

 

  1. cat命令的五大常用功能
    查看文件内容(最基本功能) cat file1.txt
    把多个文件合并成一个 cat file1 file2 >newfile.txt
    创建并编辑新文件 cat >file1.txt
    非交互式编辑或把新内容追加到文件尾部 cat >> file1 << eof
    清空文件内容,但是文件不删除 cat /dev/null>file1

    cat -n按行编号(包括空行),cat -b非空行编号=nl命令

  2. tailf命令=tail -f,可以实时监控文件,跟踪日志文件,实时输出文件变化后追加的数据

  3. cut -d '分割字符' -f fields  根据-d的分割字符将一段信息分成数段,用-f取出第几段。-c 字符区间,-c 2-10 或者-c 12- 即12个字符之后

  4. paste file1 file2 就是把两个文件的每一行贴在一起,中间默认以tab分割。-d参数可以指定分隔符,-s参数可以吧一列内容转换为一行,即粘贴后文件每个文件占一行       。实例:把一个文件的奇数行和偶数行(1行2行,3行4行。。)连接为一行,一行之中的分隔符为等号。 方法1:paste -s -d '=\n' filename      方法2:paste -d '=' - -

         文件过滤及内容编辑处理命令1_第1张图片

                    方法1中。-s把文件内容变为:1 qweqt 2 edr 3 ery等等,-d通过paste的特殊用法轮流将=号与换行符作为分隔符

  5. sort命令中,-t 制定分隔符,-k以哪个区间进行排序。注意指定分隔符后,不到分割符的那一部分都成为了同一列。例:aa-bb-cc-dd 3.2.3.46若制定.为分隔符,则aa-bb-cc-dd 为第一列,3为第二列,2为第三列。。以此类推。-k 3.1,3.6表示从第三字段的第一个字符开始,到第三字段第六个字符结束排序 。实例:以xx-yy-zz-qq的最后一列qq进行分组(即qq相同的排在一起),再对每组中的“IP:2.2.3.XXX”的最后一列XXX进行排序     答案:sort -t "." -k 1.10,1.11 -k 4,4n filename       qq位于自已字段的第10字符到第11字符

  6. join使用前两个文件必须先进行排序。两个文件中,有相同数据的那一行,整合为一行,且相同的栏位部分被移动到最前面,那么第二个文件相同的栏位就不会显示了(已移动到最左边) 例:join -t ':' -1 4 file1 -2 3 file2   其中-t制定分隔符,-1表示第一个文件以那个栏位来分析,-2表示第二个文件用哪个栏位分析
  7. uniq一般用在sort完成之后(因为sort只能作用于相邻的重复行),去掉重复行并计算每行。
  8. diff只能比较两个文件,通常是用于处理同一个文件或软件新旧版本差异上。一般会得到三种结果:a(add)d(delete)c(change替换)。4d3表示以文件2的第三行为基准,左边第四行被删除了,那么下面会显示出被删除那一行的内容。6a4,5表示文件1第六行增加两行文本,及文件2的第4、5行。文件1一般代表原始文件,文件2表示目标文件
  9. tr -s 字符集1 字符集2 可用于从标准输入中替换字符 tr -s 'abc' 'xyz' < file  表示由a变到x,b变为y,而不是仅仅把abc字符串改为xyz字符串。同理,tr -d ‘abc’为删除文件出现的abc中每一个字母。统一字母大小写:tr -s '[a-z]' '[A-Z]'  
  10. tee -a file表示以累加的方式,将数据放入file中 ,同时输出到屏幕,完成双重重定向。
  11. 删除文件中的注释与空行: egrep -v  "^$|#" filename    因为|(用or的方式找出多个字符串)、+、?、()属于扩展正则表达式。

 

                  

                 

                                                           

                                                                                                                                                        

你可能感兴趣的:(文件过滤及内容编辑处理命令1)