zoukankan      html  css  js  c++  java
  • Linux基础命令之文件过滤及内容编辑处理(二)

    . wc

      用于统计文件的行数,单词,或字节数

      -l  # 统计行数

      -L  # 打印最长行的长度,一般脚本中判断字符长度

      -c  # 统计字节数

      -w  # 统计单词数

      -m  统计字符数

    . iconv

      转换文件的编码格式

      iconv [options] [-f from-encoding] [-t to-encoding] [inputfile]...

              源编码    新编码    输入文件

      -f   # 从编码A转换

      -t  # 转换为编码B

      -l  # 显示系统支持的编码

      -o  # 将输出输入到指定文件

    iconv -f gb2312 -t utf-8 GB2312.txt

    . dos2unix

      将DOS格式文件转换成UNIX格式

      dos2unix [options] [-c convmode] [-o file ...] [-n infile outfile ...]

      windows系统下,文本是以" "作为换行标志的,而UNIX下的文本文件是以“ ”作为换行标志的

      反之,unix2dos将linux文件的“ ”转化成Windows文件的“ ”

      

    . diff

       逐行比较纯文本文件的内容

      默认显示格式有如下三种提示

      a-add

      c-change

      d-delete

      "<"打头的行属于文件1, ">"打头的行属于文件2

      -y  # 并排输出显示两个文件的不同之处

    . vimdiff

      此命令是调用vim命令打开文件可以同时打开2个,3个,最多4个文件,并且会以不同的颜色来区分文件的差异

      

    . rev

      按行反向输出文件内容,将内容倒着输出

      

    [root@mysql-141 ~]# echo {1..10}
    1 2 3 4 5 6 7 8 9 10
    [root@mysql-141 ~]# echo {1..10}|rev
    01 9 8 7 6 5 4 3 2 1

    . tr

      从标准输入中替换,缩减或删除字符,并将结果写到标准输出

      -d  删除字符

      -s  保留连续字符的第一个字符,删除其他字符

      -c  使用第一个字符串set1的补集,取反

      

    tr 'abc' 'xyz' <xiaolizi.txt # tr命令jie接文件比较特殊,需要输入重定向,将稳中出现的abc替换为xyz,所有a替换成x,b-y,c-z
    
    tr '[a-z]' '[A-Z]' <xiaolizi.txt
    
    tr -d 'xiaolizi'<xiaolizi.txt    # 使用参数-d删除字符
    tr -d '
    	' <xiaolizi.txt    # 使用-d参数删除所有换行符和制表符
    
    echo  'xxxiiiaaalllliiiizzz'|tr -s xiaolizi    # 将连续字符压缩成一个
    
    
    tr -c ‘0-9’ ‘*’  <xiaolizi.txt    # 取反操作

    . tee

       将数据重定向到指定文件和屏幕上,各输出一份

      -a  项文件追加内容,而不是覆盖

    [root@mysql-141 ~]# ls
    01-monitoring.py  02-ps_pid.sh     backup.sh           new_aa  test
    01-monitoring.sh  anaconda-ks.cfg  install.log         new_ab  test.txt
    02-ps_name.sh     backup_check.sh  install.log.syslog  new_ac  youhua.sh
    [root@mysql-141 ~]# ls|tee -a ls.txt
    01-monitoring.py
    01-monitoring.sh
    02-ps_name.sh
    02-ps_pid.sh
    anaconda-ks.cfg
    backup_check.sh
    backup.sh
    install.log
    install.log.syslog
    new_aa
    new_ab
    new_ac
    test
    test.txt
    youhua.sh
    [root@mysql-141 ~]# cat ls.txt 
    01-monitoring.py
    01-monitoring.sh
    02-ps_name.sh
    02-ps_pid.sh
    anaconda-ks.cfg
    backup_check.sh
    backup.sh
    install.log
    install.log.syslog
    new_aa
    new_ab
    new_ac
    test
    test.txt
    youhua.sh
  • 相关阅读:
    JZ初中OJ 2266. 古代人的难题
    JZ初中OJ 1341. [南海2009初中] water
    JZ初中OJ 1340. [南海2009初中] jumpcow
    JZ初中OJ 2000. [2015.8.6普及组模拟赛] Leo搭积木
    JZ初中OJ 1999.[2015.8.6普及组模拟赛] Wexley接苹果
    Unity Android平台下插件/SDK开发通用流程
    UNITY接入支付宝(未测试可行)
    Unity接入支付宝(免写安卓代码,使用JAR方式)
    Unity之多态
    unity与android交互(1)与(2)网友的整理
  • 原文地址:https://www.cnblogs.com/flashfish/p/10718316.html
Copyright © 2011-2022 走看看