一 常用命令
-
grep —— 文件中搜索给定字符串 grep word file 在file中查找包含word的行
-v 不包含word的行
-c 只显示搜索到多少行
-i 不区分大小写搜索
-l 多个文件中哪些文件包含word -L 多个文件中哪些文件不包含word
^word 以word开头的行 word$ 以word结尾的行
-w 包含word这个词的行(forword就不会匹配成功,只有word才行)
多条件搜索:egrep
以word开头或者以letter结尾的egrep '^word|letter$' file
参考:
http://c.biancheng.net/linux/grep.html -
cut——取每一行中给定位置的元素 cut -c 3 file 取file内每一行的第三个字节
-b 按字节定位 -c 按字符定位 -f按域定位 -
wc——统计文件中的字节数,词数,行数 wc -w file 统计file里有多少个词
-c 字节数
-m 字符数
-w 词数
-l 行数
-L 显示最长行的字节数 -
split——拆分文件 split -10 file 将file按10行为单位拆分
-b 按指定大小为单位拆分 如 -b 500m 按500m大小拆分 -
vi——替换文本内容
输入:
进入底线命令模式
s/abc/xyz/ 将光标处abc替换为xyz
s/abc/xyz/g 将光标所在行所有abc替换为xyz
m,ns/abc/xyz/g 将m行到n行里所有的abc替换为xyz
特别的 1,$s/abc/xyz/g 将全文里所有的abc替换为xyz $代表最后一行 也可以写为 %s/abc/xyz/g
s/a\./ab/g 将a. 替换为ab,因为‘.’ 为特殊匹配符,需要用\取消特性
- sed——替换,删除,更新文本内容
sed ‘command’ file 对file文件执行command命令
linux命令| sed ‘command’ 对linux命令得到的文件执行sed操作
sed参数:
-e 多点编辑,即执行多个命令,每个命令前加-e
sed -e '3,$d' -e 's/bash/blueshell/' //将第3行到最后一行删除,然后将bash替换为blueshell,感觉应该给s前面加1,2
-f 执行的命令从-f后的文件读取
-n 只显示处理后的结果,不输出全文
command部分命令:
a——给该行之后新加字符串(加到当前行的下一行)
sed '4a newline' file //给file文件的第四行后面加newline,成为第五行
i——给该行前加字符串(加到当前行的前一行)
sed '4i newline' file //给第四行前面加newline作为新的一行
d——删除该行
sed '2,5d' file //将file文件的第2-5行删除
sed '2,$d' file //将file文件第2行到最后一行全部删除
sed '/root/d' file //将file文件中包含root的行全部删除
c——n1-n2行的内容用字符串取代
sed '2,5c newline' file //将第2行到第5行替换为newline
s——将b词用a词替换,与vi命令类似
sed '2s/root/newroot/g' file 将file第二行的root替换为newroot
p——打印,常与-n一起使用
sed -n '5,7p' file //将file文件第5行到第7行打印
linux中^表示一行开头,$表示一行结尾