Please enable JavaScript.
Coggle requires JavaScript to display documents.
sed (syntax (sed [-hnV][-e<script>][-f<script文件>][文本文件] (a…
sed
syntax
https://linux.cn/article-10232-1.html
sed '表达式' | sed '表达式' == sed '表达式; 表达式'
sed [-hnV][-e<script>][-f<script文件>][文本文件]
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
n : 输出当前模式空间内容,然后直接读取下一个输入行到模式空间
sed '/^$/d' file ##匹配空白行即:开始和结束之间什么都没有的行,删除
sed -ne '/\/usr\/sbin\/nologin/p' inputfile
sed -ne '\=/usr/sbin/nologin=p' inputfile##\=作为新的正则分隔符
sed -n -e '/(www)|(mail)/p' inputfile
sed -En -e '/(www)|(mail)/p' inputfile增强正则
sed -n -e '/www/,/systemd/p' inputfile # 输出与正则表达式 /www/ 匹配的第一行到与接下来匹配正则表达式 /systemd/ 的行为止
printf "%s\n" {a,b,c}{d,e,f} | cat -n | sed -ne '/b/,/f/p'
printf "%s\n" {a,b,c}{d,e,f} | cat -n | sed -ne '/f/,/b/p'
http://sed.sourceforge.net/sed1line_zh-CN.html
http://sed.sourceforge.net/
awk
https://linuxhandbook.com/awk-command-tutorial/
awk 入门 —— 强大的文本分析工具:
https://linux.cn/article-11543-1.html
20分钟 Awk 入门:
https://linux.cn/article-4857-1.html
awk '{print > $2".txt"}' colours.txt
https://linux.cn/tag-awk-2.html
grep
syntax
https://www.runoob.com/linux/linux-comm-grep.htmll
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
-A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。-B/-C
-c 或 --count : 计算符合样式的列数。
-d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
-f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F 或 --fixed-regexp : 将样式视为固定字符串的列表。
-h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。-H
-i 或 --ignore-case : 忽略字符大小写的差别。
-l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。-L
-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
-o 或 --only-matching : 只显示匹配PATTERN 部分。
-r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
-v 或 --revert-match : 显示不包含匹配文本的所有行。
-w 或 --word-regexp : 只显示全字符合的列。
-x --line-regexp : 只显示全列符合的列。
单引号 vs 双引号
find ./ -size 0 -exec rm {} \; == find ./ -size 0 | xargs rm -f & ==
rm -i
find ./ -size 0
linux 中强大且常用命令:find、grep
https://linux.cn/article-1672-1.html