linux 管道命令
来源:互联网 发布:数据库实现教材管理 编辑:程序博客网 时间:2024/05/17 23:49
1.啥是管道命令?
答:就是可以将数据可以来取自如的控制,筛选,或者想要导向哪里。
2.cut和grep 针对每行进行操作
cut:将信息分割之后取想要的那一段
-d:分隔符
-f:取第几段
-c:区间 例如 2-3 2- -3
例如:echo ${PATH} | cut -d ":" -f 5 解释:以“:”分割 取第五段 段号从1 开始
export | cut -c 12-
grep:按行分析数据
模板:grep [-acinv] [--color=auto] '搜索字符串' filename
-a 将binary文件已text 文件的方式搜寻数据
-c 计算查询出的次数
-i 忽略大小写
-n 输出行号
-v 反向输出,输出不符合查询条件的
-A 后面加数字,显示后续的几行
-B 后面加数字,显示前面的几行
--color=auto 将符合条件的地方加颜色
例如:last | grep 'root'
grep 'root' /etc/gefeng.txt
3.排序命令 sort,wc,uniq
sort:将每行进行排序
模板:sort [-fbMnrtuk] [file or stdin]
-f:忽略大小写
-b:忽略前面的空格
-M:以月份的名字排序
-n:以数字进行排序
-r:反向排序
-u:相同的仅显示一行
-t:分隔符
-k:以这个区间排序
例如:
cat /etc/passwd | sort -t ':' -k 3 -n 解释: 以:分割取第三个 按此部分排序
uniq:去重
uniq [-ic]
-i 忽略大小写
-c 进行计数
例如:
last | cut -d ' ' -f1 | sort | uniq -c 解释:按空格分割 取第一个 排序之后 去掉 重复的(一定要排序之后 在去重,否则会出现 有相同的)
wc 计算输出的行数字数字符数
模板:wc [-lwm]
-l 行数
-w 单词数量(按空格等字符隔开计算)
-m 字符数
cat wc.txt | wc -w
4.双向重导向 tee
模板 :tee [-a] file
-a 累加 还是重新写入
例如:cat wc.txt | tee -a cut.txt | grep 'a' 将wc.txt输入到 cut.txt 然后还将输送给grep 做搜索
5.字符转换命令 tr,col,join,paste,expand
tr:删除替换信息
模板:tr [-ds]
-d 删除
-s 替换 字符 (重点:字符 不是字符串)
例如:cat /etc/passwd | tr -d ':' 解释:将passwd 中的:删除 并输出到屏幕
cat /etc/passwd | tr -s [a-z] [A-Z] 小写变大写
col:将tab建转成空格
col -x
join:处理两个文件
模板:join [-til2] file file2
-t 查询相同的部分 以什么符号分割
-i 不区分大小写
-1 第一个文件用那部分对比
-2 第二个文件用那些部分对比
例如 :join -t ":" -1 4 /etc/passwd -2 3 /etc/group | head -n 3 解释:以:分割 第一文件找第四部分第二文件用第三部分
paste:将两个文件的每行数据 接起来
模板:paste [-d] file1 file2
-d 链接符
-:如果file 写成- 表示来自,standard input
例如:paste -d "=" cut.txt wc.txt
expand:将tab换成空格
-t 后面用几个空格换tab
expand -t 4 file
6.分区命令 split
模板:split [-bl] file PREFIX
-b 分区文件大小
-l 以行数进行区分
PREFIX 前导符
例如:split -l 2 cut.txt gefeng
cat cut.txt | split -l 2 - gefeng
7.参数代换xargs
模板:xargs [-Oepn] command
例如:cat cut.txt | xargs ls -l 取出每行 作为参数 传给后面的 命令
- linux 管道命令
- linux 管道命令
- linux管道命令
- Linux管道命令
- Linux管道命令
- linux管道命令
- Linux管道命令
- Linux管道命令
- Linux管道命令
- Linux管道命令
- linux 管道命令
- Linux管道命令
- linux管道命令
- [Linux] 管道命令
- Linux管道命令
- Linux管道命令
- Linux管道命令
- linux下管道命令|
- 三、JDBC——Statement
- 机器学习第六周(三)
- 用程序实现更新PO的价格
- ios控件——UITarBarController的简单使用
- caffe 图片格式
- linux 管道命令
- [Leetcode-94中序-144前序-145后序]【Stack】递归和非递归方式遍历二叉树
- ios ffmpeg h264 encode
- jsp生成校验码
- python学习笔记3——列表和元组
- python中如何给散点图上面的特定点做标记
- CentOS下防火墙的配置
- 数据库总结
- Banner轮播图使用