跳转到正文
Lishude's Web Note
返回

Linux sed 和 find 命令清单

sed

之前在使用 sed 就只在 ubuntu 上替换 apt 源用过。

sed -i 's/us/cn/g' /etc/apt/sources.lit

一直还没记住,容易输错,结果经常就把 sources.list 文件破坏掉了 😓。

sed 是流编辑器,读取一个文件,按照命令每次只处理一行。具体命令如下所示:

sed [options] 'command' file(s)

option 就是上述命令的 -i 部分,这个是修改源文件。处理行为默认是只输出到屏幕,加 -i 的参数了,这会修改源文件的。有个安全的方式就是使用 -i.bak 的形式先备份然后再修改。

其它的 option 选项

command 参数包括两个部分,处理位置和处理方式。

sed 读取一行处理一行,默认是每行都处理,另外提供了处理位置(Address),可以是行号,也可以是正则只要匹配才处理,不匹配就跳过进入下一行。

选定行的范围使用 ,(逗号)进行。

在处理位置之后再使用处理方式。

几个常用的处理方式有新增(a),插入(i),删除(d),打印(p),替换(s)。

输出打印操作:p命令

需要注意的是如果不加 -n 的话,会打印两行。

删除操作:d命令

追加(行下):a\命令

插入(行上):i\命令

当然还有最初说的 s 命令是指替换操作,可以直接搭配正规表示法。sed -i 's/us/cn/g' /etc/apt/sources.lit 这条命令就是把 /etc/apt/sources.list 文件中每行的 us 换成 cn,这个就是初始化 ubuntu server 的最常用的命令了。

find

Linux find命令用来在指定目录下查找文件。

任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

语法格式如下:

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} ;

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

更多可参考:https://blog.csdn.net/xktxoo/article/details/77823520

REF



上一篇
nginx user 模块详解
下一篇
Debian APT Nginx 各个版本的区别