find命令&&echo命令&vim替换&grep

统计当前目录及其子目录下面所有文件的行数:find . -name "*" | xargs wc -l 或 wc -l $(find . -name "*")

find命令
find [起始目录] 寻找条件 查找的字符串 操作
起始目录: 
    ~ 表示$HOME目录
       . 表示当前目录
       / 表示根目录 

寻找条件(常用的):
    -name:按照名字查找
      -perm:安装权限查找
      -prune:不再当前指定的目录下查找
      -user:文件属主来查找
      -group:文件所属组来查找
      -nogroup:查找无有效所属组的文件
      -nouser:查找无有效属主的文件
      -type:按照文件类型查找 
-type x 查找类型为 x 的文件,x 为下列字符之一:

b 块设备文件

c 字符设备文件

d 目录文件

p 命名管道(FIFO)

f 普通文件

l 符号链接文件(symbolic links)

s socket文件

-xtype x 与 -type 基本相同,但只查找符号链接文件。

当你想根据名字来查找一个目录时,命令为:find -name 目录名 -type d,也就是说-type d必须放在要查找的目录名的后面,如果放前面会报错。

寻找条件可以是一个用逻辑运算符 not、and、or 组成的复合条件。逻辑运 算符 and、or、not 的含义为:

(1) and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足。例如:

find –name ’tmp’ –xtype c -user ’inin’    该命令寻找三个给定条件都满足的所有文件

(2) or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足 时,寻找条件就算满足。例如:

find –name ’tmp’ –o –name ’mina*’  该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。

(3) not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件 。例如:

find ! –name ’tmp’   该命令查询文件名不是’tmp’的所有文件。

操作:
print:表示将结果输出到标准输出。

exec:对匹配的文件执行该参数所给出的shell命令。
      形式为command {} \;,注意{}与\;之间有空格

ok:与exec作用相同,
      区别在于,在执行命令之前,都会给出提示,让用户确认是否执行


echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。

功能说明:显示文字。
语   法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参   数:-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
   \a 发出警告声;
   \b 删除前一个字符;
   \c 最后不加上换行符号;
   \f 换行但光标仍旧停留在原来的位置;
   \n 换行且光标移至行首;
   \r 光标移至行首,但不换行;
   \t 插入tab;
   \v 与\f相同;
   \\ 插入\字符;
   \nnn 插入nnn(八进制)所代表的ASCII字符;

又遇到一个好东西:
cat > test.txt << EOF  创建文件  test.txt 输入   当输入 EOF时,结束。退出。

vim替换
":substitute"命令可以对一个指定范围的区域执行替换操作. 它的
通用形式如下:
:[range]substitute/old/new/[flags]
该命令将由[range]指定的行中的字符串"old"替换为"new".
备注: 一般人都不会把:substitute完整拼出来, 使用它
的缩略形式":s"就可以了. 
range中 "%"指定该命令将作用于所有行上.
不指定一个范围的话, ":s"将只作用于当前行. 
默认情况下, ":substitute"命令只会替换一行中第一次被发现的目
标字符串. 
要改变一行中所有符合的目标字符串, 可以在命令后加"g"标志加以
修饰.
命令作用范围

:1,5s/this/that/g  作用于1到5行
:54s/President/Fool/ 只作用于54行
:.,$s/yes/no/  作用于当前行到最后一行,$表示最后一行。

根据条件替换

:g/pattern/s/old/new/gc

全局查找pattern,对于匹配pattern的行进行后面的替换,这里的pattern和old都可以使用正则表达式。



grep
查找文本中出现字符串1或字符串2
grep -E "aaa|bbb"  ./* -r  --color=auto(以彩色显示)
查找文本一行中同时出现的两个支付串
grep "jin" filename | grep "qi" --color=auto
-n:显示查询出来的行在文件中的行号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值