Linux学习 - 修改、查询文件内容
一、显示文件内容
cat [-n] [文件名] 正向显示
-n 显示行号
tac [文件名] 反向显示
more [文件名] 可实现分页显示
(空格)或(f) 翻页
(Enter) 换行
(q)或(Q) 退出
less [文件名] 可实现分页显示
(PgUp) 向上翻页
(↑) 向上还行
('/' + '关键词') 搜索 (n)——继续向下搜索
head [-n] 20 [文件名] 显示文件前20行数据
-n 指定行数
tail [-nf] 20 [文件名] 显示文件后20行数据
-n 指定行数
-f 动态显示文件末尾内容
例:tail -n 20 /etc/services
二、提取某行数据grep
grep [选项] 指定字串 文件
-i 不区分大小写
-v 排除指定字串
三、提取某列数据cut
cut [选项] 文件
-f 列号 提取第几列(以制表符作为分隔符)
-d 分隔符 按照指定分隔符分割列
四、输出打印printf
%s 输出字符串
%i 输出整数
%f 输出浮点数
$n 输出第n列数据
五、awk命令()
awk ‘条件1{动作1} 条件2{动作2} ...’ 文件名
条件:
一般使用关系表达式作为条件
BEGIN 开始前
END 结束后
动作:
printf ' ' 输出 ‘ ’ 中的内容
FS=“ ” “ ”中字符作为分隔符
例:
df -h | awk '{printf $1 "\t" $5 "\t" $6 "\n"}'
六、sed命令
主要是用来将数据进行选取、替换、删除、新增的命令
sed [选项] ‘动作’ 文件名
选项:
-n 只将经过sed命令处理的行输出到屏幕
-e 允许用多条sed命令编辑
-i 用sed的结果直接修改原文件,而不仅是屏幕输出
动作:
na \ 在n行下一行追加数据,“\”代表数据未完成
ni \ 在n行上一行插入数据
c 替换行,格式:sed 'nc xxxxxx’ 文件名 用xxxxxx替换第n行的数据
nd 删除第n行
np 打印第n行
s 字符替换,格式:sed ‘ns/旧字串/新字串/g’ 文件名 修改第n行的数据
七、文件内容排序sort
对文件内容进行排序
sort [选项] 文件名
-f 忽略大小写
-n 以数值型进行排序(默认字符型)
-r 反向排序
-t 指定分隔符(默认制表符)
-k n,m 按照指定的字段范围排序,n字段开始,m字段结束
十、统计文件内容wc
统计文件的数据
wc [选项] 文件名
-l 只统计行数
-w 只统计单词数
-m 只统计字符数