
(1)[wxdh@主机名]$ sed ‘2d’ test
解释:删除test文件的第二行。
(2)[wxdh @主机名]$ sed ‘s/34/100/g’ test
解释:在整行范围内把34替换为100。如果没有g标记,则只有每行第一个匹配的34被替换成100。
(3)[wxdh @主机名]$ sed -n ‘2,/^34/p’ test
解释:打印从第2行开始到第一个包含以34开始的行之间的所有行。
(4)[wxdh @主机名]$ sed ‘/43/i\new line’ test
解释:如果43被匹配,则把反斜杠后面的文本插入到匹配行的前面。
(5)[wxdh @主机名]$ sed -n ‘w test1’ test
解释:将test文件中的内容写入到test1中。
(6)[wxdh @主机名]$ sed ‘3q’ test
解释:打印完第3行后,退出sed。
grep(Global Regular Expression Print),表示全局正则表达式版本,它的使用权限是所有用户。
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
grep命令格式:
grep [options]
(1)[wxdh@主机名]$ grep ‘test’ dh*
解释:显示所有以dh开头的文件中包含 test的行。
(2)[wxdh @主机名]$ grep ‘test’ dha dhb dhc
解释:显示在aa、bb、cc文件中匹配test的行。
(3)[wxdh @主机名]$ grep ‘[a-z]{5}’ aa
解释:显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
(4)[wxdh@主机名]$ grep ‘w(es)t.\1’aa
解释:如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.),这些字符后面紧跟着另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用“\”号进行转义,直接写成‘w(es)t.*\1’就可以。
find是在磁盘/分区中找到文件,可以按照文件名、文件类型、文件大小、访问时间等来找到指定文件。
grep是查找文件的利器,可以在一个txt文本中截取到有特定关键字的行,并显示出来;也可以通过关键字,在一个文件夹下查找多个有这些关键字的文件,并生成结果,即根据文件内容递归查找目录
(1)[wxdh@主机名]$ find ~ -name “[a-z][0-9]*.txt” –print
解释:在主目录中查找以一个小写字母和一个数字开头的txt文件并显示。
(2)[wxdh @主机名]$ find ~ -mmin +60
解释:在主目录中查找60分钟前被改动过的文件。
(3)[wxdh @主机名]$ grep ‘hello world’ *
解释:在当前目录搜索带有’hello world’行的文件。
(4)[wxdh @主机名]$ grep –l –r ‘hello world’ *
解释:在当前目录及其子目录下搜索带有’hello world’行的文件,但是不显示匹配的行,只显示匹配的文件。