赞
踩
cut 根据条件 从命令结果中 提取 对应内容
第二步: 截取出1.txt文件中前2行以”:”进行分割的第1,2段内容
cut 动作 目标文件
可以根据条件 提取对应内容
第二步: 去重排序
第三步: 对数值排序
第四步: 对成绩排序
/etc
目录下 有多少个 子内容
第三步: 统计多个文件的 行数 单词数 字节数
第四步: 查看 /etc
目录下 有多少个 子内容
wc 文件
就可以 统计 文件的 字节数、单词数、行数.uniq 命令用于检查及删除文本文件中重复出现的行,一般与 sort 命令结合使用。
第二步:不但去重,还要 统计出现的次数
uniq [选项] 文件
就可以完成 去重行 和 统计次数tee
可以将命令结果 通过管道 输出到 多个文件中命令 | 含义 |
---|---|
命令结果 | tee 文件1 文件2 文件3 | 通过 tee 可以将命令结果 通过管道 输出到 多个文件中 |
tr
命令用于 替换 或 删除 文件中的字符。命令 | 英文 | 含义 |
---|---|---|
命令结果 | tr 被替换的字符 新字符 | translate | 实现 替换效果 |
# 将 小写i 替换成 大写 I
# 把itheima的转换为大写
# 把 HELLO 转成 小写
# 将 小写i 替换成 大写 I
echo "itheima" | tr 'i' 'I'
# 把itheima的转换为大写
echo "itheima" |tr '[a-z]' '[A-Z]'
# 把 HELLO 转成 小写
echo "HELLO" |tr '[A-Z]' '[a-z]'
命令 | 英文 | 含义 |
---|---|---|
命令结果 | tr -d 被删除的字符 | delete | 删除指定的字符 |
[root@hadoop01 export]# cat words.txt
hello,world,hadoop
hive,sqoop,flume,hello
kitty,tom,jerry,world
hadoop
1 将, 换成 换行
2 排序
3 去重
4 计数
# 统计每个单词出现的次数
[root@hadoop01 export]# cat words.txt | tr ',' '\n' | sort | uniq -c
1 flume
2 hadoop
2 hello
1 hive
1 jerry
1 kitty
1 sqoop
1 tom
2 world
准备工作
# 查看 /etc目录下 以.conf以结尾的文件的内容
cat -n /etc/*.conf
# 将命令结果 追加到 /export/v.txt 文件中
cat -n /etc/*.conf >> /export/v.txt
split
命令将大文件 切分成 若干小文件命令 | 英文 | 含义 |
---|---|---|
split -b 10k 文件 | byte | 将大文件切分成若干10KB的小文件 |
命令 | 英文 | 含义 |
---|---|---|
split -l 1000 文件 | lines | 将大文件切分成若干1000行 的小文件 |
通过 split 选项 文件名
命令将大文件 切分成 若干小文件
准备工作1:
vim score.txt
zhangsan 68 99 26
lisi 98 66 96
wangwu 38 33 86
zhaoliu 78 44 36
maq 88 22 66
zhouba 98 44 46
awk
实现 模糊查询, 按需提取字段, 还可以进行 判断 和 简单的运算等.
选项
选项 | 英文 | 含义 |
---|---|---|
-F ',' | field-separator | 使用 指定字符 分割 |
$ + 数字 | 获取第几段内容 | |
$0 | 获取 当前行 内容 | |
NF | field | 表示当前行共有多少个字段 |
$NF | 代表 最后一个字段 | |
$(NF-1) | 代表 倒数第二个字段 | |
NR | 代表 处理的是第几行 |
命令 | 含义 |
---|---|
awk -F ’ ’ ‘{OFS="==="}{print $1, $2, $3}’ 1.txt | 操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容 |
选项
选项 | 英文 | 含义 |
---|---|---|
OFS="字符" | output field separator | 向外输出时的段分割字符串 |
命令 | 含义 |
---|---|
awk -F ‘,’ ‘{print toupper($2)}’ 1.txt | 操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容 |
常用函数如下:
函数名 | 含义 | 作用 |
---|---|---|
toupper() | upper | 字符 转成 大写 |
tolower() | lower | 字符 转成小写 |
length() | length | 返回 字符长度 |
命令 | 含义 |
---|---|
awk -F ‘,’ ‘{if($4>60) print $1, $4 }’ score.txt | 如果及格,就显示 $1, $4 |
awk -F ‘,’ ‘{if($4>60) print $1, $4, “及格”; else print $1, $4, “不及格”}’ score.txt | 显示 姓名, $4, 是否及格 |
选项
参数 | 含义 |
---|---|
if($0 ~ “aa”) print $0 | 如果这一行包含 “aa”, 就打印这一行内容 |
if($1 ~ “aa”) print $0 | 如果**第一段 **包含 “aa”, 就打印这一行内容 |
if($1 == “lisi”) print $0 | 如果第一段 等于 “lisi”, 就打印这一行内容 |
命令 | 含义 |
---|---|
sed 可选项 目标文件 | 对目标文件 进行 过滤查询 或 替换 |
可选参数
可选项 | 英文 | 含义 |
---|---|---|
p | 打印 | |
$ | 代表 最后一行 | |
-n | 仅显示处理后的结果 | |
-e | expression | 根据表达式 进行处理 |
sed -n -e '1,5p' 1.txt
sed -n -e '1,$p' 1.txt
可选项 | 含义 |
---|---|
= | 打印当前行号 |
sed -n -e '1,$=' -e '1,$p' 1.txt
简化版
cat -n 1.txt
cat -b 1.txt
nl 1.txt
答案:
sed -n -e '/root/p' 1.txt
可选项 | 英文 | 含义 |
---|---|---|
I | ignore | 忽略大小写 |
答案:
nl 1.txt | sed -n -e '/root/Ip'
nl 01.txt | grep -i root
cat -n 01.txt | grep -i root
可选项 | 英文 | 含义 |
---|---|---|
-r | regexp-extended | 识别正则 |
答案:
nl 01.txt | sed -nr -e '/r+t/p'
或者
sed -nr -e '/r+t/p' -e '/r+t/=' 01.txt
可选项 | 英文 | 含义 |
---|---|---|
d | delete | 删除指定内容 |
答案:
nl 01.txt | sed -e '1,3d'
答案:
nl 01.txt | sed -e '5,$d'
nl 1.txt | sed -n -e '1,4p'
参数 | 英文 | 含义 |
---|---|---|
i | insert | 目标前面 插入内容 |
a | append | 目标后面 追加内容 |
答案:
nl 01.txt | sed -e '2a aaaaa'
答案:
nl 01.txt | sed -e '1i bbbbb'
英文 | 含义 | |
---|---|---|
s/oldString/newString/ | replace | 替换 |
答案:
nl 1.txt | sed -e 's/nologin/huawei/'
选项 | 英文 | |
---|---|---|
2c 新字符串 | replace | 使用新字符串 替换 选中的行 |
答案:
nl passwd | sed -e '1,2c aaa'
参数 | 英文 | 含义 |
---|---|---|
-i | in-place | 替换原有文件内容 |
答案:
sed -i -e 's/nologin/huawei/' 01.txt
答案:
sed -i -e '2,3c aaa' 01.txt
注意:在进行操作之前,最好是对数据进行备份,放置操作失误,数据无法恢复!
答案:
sed -i -e '1,2d' 01.txt
nl passwd 查看数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。