管道" | "符号和xargs及exec的区别

1.管道符号 " | "

   管道是一种通信机制,通常用于进程间的通信,它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入

   [root@prometheus-server better]# cat /etc/passwd |grep "root"
   root:x:0:0:root:/root:/bin/bash
   operator:x:11:0:operator:/root:/sbin/nologin

命令 作用 使用场景
cut 将一段信息的某一段切出来,处理的信息是以行为单位。 echo $PATH | cut -d ':' -f 3-5 //将path的值按照':'进行分割,后取出第3到5个值
grep/egrep 分析一行信息,如果有匹配的,就将该行拿出来。 cat /etc/passwd | grep root //列出输出中带有root的行
sort
可以依据不同的数据类型进行排序。
cat /etc/passwd | sort -t ':' -k 3 -n //根据 passwd中每行,按':'分隔符进行分隔后,按照第3个字段使用纯数字的方式进行排序
uniq 重复的行只显示一个 last | cut -d ' ' -f1 | sort | uniq -c //列出登录者名字,并进行排序,进行统一处理,并计数。
wc 统计指定文件中的字节数、字数、行数,并将统计结果显示输出 cat /etc/man.config | wc //输出三个数字,分表代表行,字数,字符数

 

2.xargs

   将前一个命令的输出作为命令行参数传给后面的命令

[root@prometheus-server /]# find /test/ -name *.txt -type f |xargs echo
/test/2.txt /test/3.txt /test/4.txt /test/5.txt /test/100.txt

xargs将参数一次传给echo

3.-exec

  • 要结合{};来用, {}表示前面查询的结果;结束符\;这是固定的写法
  • 参数是一个一个传递的,传递一个参数执行一次
  • 文件名有空格等特殊字符也能处理

 

posted @   51-devops  阅读(1838)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示