Linux基础知识(一)

一、两个文件的交集、并集(前提条件:每个文件中不得有重复行)

1. 取出两个文件的并集(重复的行只保留一份)

  cat file1 file2 | sort | uniq > file3

2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)

  cat file1 file2 | sort | uniq -d > file3

3. 删除交集,留下其他的行

  cat file1 file2 | sort | uniq -u > file3

 

二、两个文件合并

1. 一个文件在上,一个文件在下

  cat file1 file2 > file3

2. 一个文件在左,一个文件在右

  paste file1 file2 > file3

 

三、一个文件去掉重复的行

1. 重复的多行记为一行

  sort file |uniq

2. 重复的行全部去掉

  sort file |uniq -u


四、find命令

1.find  directory  [options]

其中directory是检索的起始目录 ,options是一种表达式选项,用于指定各种匹配准则或检索条件。

如:检索当前工作目录及其子目录下所有以“.c”为后缀的文件,并打印文件名

$ find  . -name  '*.c'  -print

2.利用find命令的"-exec"选项,采用下列两种命令形式,还能够以批处理的方式,把检索出来的文件作为参数,交由其他命令做进一

步的加工处理。

-exec   command   {}   \;

-exec   command   {}   \+

其中,command可为任何文件处理命令,花括号表示其参数取自find命令的输出,即由find命令检索出来的文件名予以替换。注

意,“-exec”选项的后面必须附加转义的分号“\;" 或转义的加号“\+”,作为命令的终结符。例如:

想要删除当前目录及其子目录中扩展名为“.tmp”的所有文件,可以使用下列命令

$ find  .  -name  '*.tmp'    -exec  rm  {}  \;

横向合并当前目录及其子目录中扩展名为“.txt”的所有文件到文件all中,可以使用下列命令

$ find  .   -name   '*.txt'  -exec  cat {}>all \+


五、统计文件的行数

语法:wc[选项]文件

说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有

指定文件的总统计数。字是由空格字符区分开的最大字符串。

该命令各选项含义如下:

  -c统计字节数。

  -l统计行数。

  -w统计字数。

这些选项可以组合使用。

输出列的顺序和数目不受选项的顺序和数目的影响。

总是按下述顺序显示并且每项最多一列。

行数、字数、字节数、文件名

如果命令行中没有文件名,则输出中不出现文件名。

例如:

$wc   -lcw file1 file2
4 33 file1
7 52 file2
11 11 85total

举例分析:

1.统计demo目录下,js文件数量:

finddemo/ -name "*.js" |wc  -l

2.统计demo目录下所有js文件代码行数:

finddemo/ -name "*.js" |xargs cat|wc  -l 或 wc -l `find ./ -name "*.js"`|tail -n1

3.统计demo目录下所有js文件代码行数,过滤了空行:

find/demo -name "*.js" |xargs cat|grep -v ^$|wc  -l






  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值