文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>uniq、join、split、cut、paste命令

uniq、join、split、cut、paste命令

时间:2010-09-30  来源:fzguon

一、uniq命令介绍

    uniq用来从一个文本文件中取出或禁止重复行,一般uniq假定输入文件已经分类。但uniq也可以支持任何非排序文本,甚至是无规律的行。uniq不同于sort –u,uniq认为持续不断重复出现的行(中间不包括其他文本)才是重复行。

    uniq常用选项:

     -u 只显示没有重复的行。不使用此选项时,uniq会把连续重复行的内容显示一次。

     -d 只显示有重复数据行,每种重复行只显示其中一行。

     -c 打印每一重复行出现次数。

     -i 忽略字母的大小写

     -fx x为数字,忽略前x个域再开始比较(有的系统使用-nx)

     -sx 跳过x个字符后再开始比较

        eg:uniq –f2 –s4 parts.txt //从文件parts.txt文件中第3个字段的第5个字符开始执行。

二、join命令介绍

    join命令主要用来连接两个文件(文件需递增排序)的数据行,join在执行时会在输入文件中寻找具有相同join字段的输入行,join默认使用每个输入文件文件行的第一个字段为join字段;输出行的字段间以一个空格隔开,每一个输出行上包括join字段、file1内其余字段以及file2内其余字段。

    join常用选项

     -ax:将文件编号为x的文件中未被匹配连接的行额外打印出来。

     -o x.y[x.y]:在输出中只打印文件x的第y个字段

     -j m:指定两个文件都用第m(m=1,2…)个字段作为join字段

     -j1 m :指定文件1使用第m个字段作为join字段

     -t char:指定char为输入输出字段的分割符

     -i:忽略字母大小写

三、split命令介绍

    split用来将大文件分割为小文件。

    split [选项] input-filename[输出文件前缀]

    常用选项:split的选项一般用来指定输出文件的大小,split默认为100行生成一个新的文件。

      -x、-lx、--lines=x:每x行生成一个新的输出文件

      -b n、--bytes=n:每n字节生成一个新的输出文件,可用后缀b k m

      verbose:每生成一个新的输出文件时,就打印一行信息到标准错误。

      输出文件前缀:默认每个生成的输出文件的格式为xaa xab….xzz。文件前缀为x,aa ab…为文件名后缀。可以指定文件名前缀。

四、cut命令介绍

    cut命令主要用于选择性的打印输入文件行的部分内容。输入文件可以是一个文件列表。如果没有指定输入文件,或设置为“-”,将会使用标准输入为输入。

    cut一般格式为: cut [选项] file1 fiel2

    下面介绍其常用选项:

     -d char:指定char为输入行字段分割符号,输出使用相同的域分割符。

     -f 字段列表:只打印在字段列表中的字段。用数字表示要打印的字段,列表可以使用“-”和“,”(1-m 表示1至m域;1,3表示1域和3域)

      eg:cut –d: -f1,6 /etc/passwd  //获取其第一域和第二域的内容

     -c 字符列表:用数字列表指定要剪切的字符位置,格式同-f的内容。

五、paste命令介绍

    命令格式:paste [选项] [file1 file2]

    paste将两个输入文件的每一行连接成一个新行并输出。file1的行内容位于file2之前。注意:使用paste命令时需确保不同来源的数据已分类并且确保两个文件行数相同。

    常用选项:

    -d char:指定char作为字段分割符

    -s :将每个文件的内容作为单独一行输出,有n个输入文件就输出n行

   “-”:没有指定输入文件而用“-”代替时,表示使用标准输入作为输入源。

     eg:ls | paste -d"" - - - - -  //以5个文件名为一行显示文件和目录

相关阅读 更多 +
排行榜 更多 +
消防烈火英雄

消防烈火英雄

模拟经营 下载
医院急救模拟器

医院急救模拟器

模拟经营 下载
雷电觉醒安卓版

雷电觉醒安卓版

飞行射击 下载