发布网友
共4个回答
热心网友
展开1全部前面一个命令的输出 管道后面+的是你对这个输出结果的处理方式 比如grep搜索某个字符 head显示头几行等 管道后面可以加非常多东西 包括转意字符等
热心网友
这样可以实现你要的结果:type $(cat test)
常用的管道相关:
ps -ef|grep id号或者进程名字
cat test|grep ls #查找文件中是否包含ls
cat test|more #当文件特别大时,分屏查看
好多的呢。追问谢谢,
追答ls -l|awk '{print $9}'
这样的也可以呀,取所有的文件名字
热心网友
cat test | xargs type
cat test | type 不是不对,是把"ls"作为 type 的标准输入,而type是不使用标准输入的。man xargs追问ls的文件内容或目录名可以作为标准输入传递给 |command ,既然type不使用标准输入rmdir可以吗?我就是在这绕不过来 看了man xargs 再加上维基百科里的解释 感觉还没理解标准输入所要传输对象之间的关系 有点乱 我试过如果把前一个命令所输出的内容(无论什么内容)要交给后面的命令处理“ (除了可以接触文件内容的命令,grep...)”其他都不可以 可以这样理解吗
追答rmdir 也不接受标准输入。呵呵
可以试试这样:
ls / | grep var
xargs 的作用是把标准输入里一行行作为后面命令的参数。如:
$ cat filelist.txt # 察看文件filelist.txt 的内容,里面有3个文件,a,b,c.
a
b
c
$ cat filelist.txt | xargs rm
会删掉这三个文件。
热心网友
cat test grep | type