shell脚本攻略第二章总结---命令之乐

来源:互联网 发布:淘宝白菜价网站 编辑:程序博客网 时间:2024/06/05 03:32

1、cat用法

1.1、cat 拼接:cat filename1  filename2  ........

1.2、“-”作为标准输入;echo "hello world" |cat - file.txt         --------> '-' 等价于“hello world”

1.3、cat  -s 压缩相邻空白行

1.4、cat -T file.txt   显示制表符

1.5、cat  -n  filename   输出显示行号

1.6、cat  -b  跳过空白行

2、script-----录制并回放终端会话

2.1、script -t 2> XXX.log  -a  XXX.session    ----录制会话

2.2、scriptreplay   XXX.log XXX.session   ----会话回放

2.3、find . -print/print0    ----print0 指明使用‘\0’作为匹配的文件名之间的定界符,当文件名中包含换行符时,可以使用

2.4、find   .   -iname  忽略字母大小写

2.5、匹配多个条件

      find .  \(     -name  "*.txt"   -o   -name "*.pdf"    \)  -print

2.6、find 正则表达式匹配

     find  .  -iregex   ".*(\.py|\.sh\)$“     -----i也是忽略大小写

2.7、find 深度搜索参数   -maxpath    -mindepth

2.8、三种时间戳:

       -atime  访问时间:用户最近一次访问文件的时间

       -mtime  修改时间:文件内容最后一次被修改的时间

      -ctime 变化时间:文件元数据(如:权限或所有权)最后一次改变的时间

      find    特色参数: -newer   比较时间戳的参考文件,然后找出比参考文件更新的所有文件

     find  与  -exec结合使用:find  .  -type d  -mtime  +30 -name "*"  -exec rm  -rf  {}  \;

3、xargs用法

3.1、用途:擅长将标准输入数据转换成命令行参数

3.2、将多行输入变单行输出:cat   filename | xargs

         将单行输入变多行输出:cat  filename| xargs  -n   数字

3.3、常用参数

      -d  指定分隔符

      -n  每行输出几个参数

      -I  指定替换字符串     cat  filename |xargs -I {} ./*.sh  -p {} -1

4、tr  转换

4.1、只能通过标准输入,无法通过命令行参数接受输入

4.2、常用参数

       -d  删除指定字符

       -s 压缩重复字符

 5、sort  uniq

5.1、sort 常用参数

            -n  按数字排序

            -r   逆向排序

           -M  按月份排序

           -m 合并已排过序的文件

           -C  检查文件是否排过序

           -k  指定按那个键(哪列)排序

 5.2、uniq 只能作用于排过序的数据输入

         uniq常用参数

             uniq   -u 只显示唯一行

                       -c 统计各行在文件中出现的次数

                       -d找出文件中重复的行

                        -s 跳过前几个字符

                        -w 比较最大字符数

6、split 文件分割

7、贪婪匹配  %%   ##

8、交互输入:read  -p





0 0