加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

Linux 如何利用过滤器

发布时间:2022-11-18 13:30:58 所属栏目:Unix 来源:网络
导读: Linux 如何利用过滤器
linuxbashshellunixcommand-line
Linux 如何利用过滤器,linux,bash,shell,unix,command-line,Linux,Bash,Shell,Unix,Command Line,我读过要制作管道,请在两个命令之

Linux 如何利用过滤器

linuxbashshellunixcommand-line

Linux 如何利用过滤器,linux,bash,shell,unix,command-line,Linux,Bash,Shell,Unix,Command Line,我读过要制作管道,请在两个命令之间的命令行上放置一个垂直条(|)然后当一个程序从另一个程序获取其输入,对该输入执行某些操作,并将结果写入标准输出时,它被称为过滤器因此,我首先尝试了ls命令,其输出为:Desktop HelloWord.java模板glassfish-4.0记录音乐视频hs_err_pid26742.log下载NetBeansProject apache-tomcat-8.0.3 mozilla.pdfHelloWord Pictures examples.des

我读过

要制作管道,请在两个命令之间的命令行上放置一个垂直条(

|

然后

当一个程序从另一个程序获取其输入,对该输入执行某些操作,并将结果写入标准输出时,它被称为过滤器

因此,我首先尝试了

ls

命令,其输出为:

Desktop HelloWord.java模板glassfish-4.0
记录音乐视频hs_err_pid26742.log
下载NetBeansProject apache-tomcat-8.0.3 mozilla.pdf
HelloWord Pictures examples.desktop netbeans-8.0

然后

ls | echo

,它完全不输出任何东西

我正在寻找一种方法来利用bash脚本中的

管道

过滤器

。请提供帮助。

echo

无法读取标准输入。它只将其命令行参数写入标准输出。您需要的是

cat

命令,它将读取的内容从标准输入转换为标准输出

ls | cat

(请注意,上面的管道有点毫无意义,但确实演示了管道的概念。右侧的命令必须从标准输入读取。)

不要将命令行参数与标准输入混淆。

echo

不会读取标准输入。它只将其命令行参数写入标准输出。您需要的是

cat

命令,它将读取的内容从标准输入转换为标准输出

ls | cat

(请注意,上面的管道有点毫无意义,但确实演示了管道的概念。右侧的命令必须从标准输入读取。)

不要将命令行参数与标准输入混淆。

echo

不读取标准输入。要尝试更有用的东西,请尝试

ls | sort -r

要将输出按相反顺序排序,或

仅保留包含数字的行。

echo

不读取标准输入。要尝试更有用的东西,请尝试

ls | sort -r

要将输出按相反顺序排序,或

要仅保留包含数字的行。

除了其他人所说的之外-如果您的命令(

echo

,在本例中)没有从标准输入读取,您可以使用

xargs

从标准输入“馈送”此命令,因此

ls | echo

不起作用,但是

ls | xargs echo

工作正常。

除了其他人所说的之外-如果您的命令(

echo

在本例中)没有从标准输入中读取,您可以使用

xargs

从标准输入中“馈送”该命令,因此

ls | echo

不起作用,但是

ls | xargs echo

很好。

试试像

ls | less

I这样的方法。但是我试图理解为什么ls的

结果不作为参数传递给

echo

said@SalathielGen塞斯,它没有说它把东西作为参数传递,而是说它把东西作为输入传递。作为未来你的指针,

ls|xargs echo

(可以缩写为

ls|xargs

)或多或少地做你正在尝试的事情。但是你需要正确地学习基础知识,这才真正有用。

它并没有说它把东西作为参数传递,而是说它把东西作为输入传递。

谢谢。--

但是你需要正确地学习基础知识,才能真正发挥作用

谢谢。试试类似于

ls | less

的方法。但是我试图理解为什么ls的

结果不作为参数传递给

echo

said@SalathielGen塞斯,它没有说它把东西作为参数传递,而是说它把东西作为输入传递。作为未来你的指针,

ls|xargs echo

(可以缩写为

ls|xargs

)或多或少地做你正在尝试的事情。但是你需要正确地学习基础知识,这才真正有用。

它并没有说它把东西作为参数传递,而是说它把东西作为输入传递。

谢谢。--但是你需要正确地学习基础知识UNIX 管道和过滤器,然后才能真正发挥作用

谢谢。我正在写一个脚本,我知道它可以很好地使用过滤器。你的问题太笼统了。任何从标准输入读取并写入标准输出的命令都可以被视为某种类型的过滤器。我有一个名为

app.sh

的脚本,需要将其用作

apt get install--yes--print uris vlc | grep\'| cut-d\'-f2 | app.sh

请将其作为单独问题发布,因为这与这里的一般问题大不相同。请注意,我正在写一个脚本,我认为它可能适合使用过滤器。你的问题太笼统了。任何从标准输入读取并写入标准输出的命令都可以被视为某种类型的过滤器。我有一个名为

app.sh

的脚本,需要将其用作

apt get install--yes--print uris vlc | grep\'| cut-d\'-f2 | app.sh

请将其作为单独问题发布,因为这与这里提出的一般问题大不相同。非常感谢!从那以后,我读了很多关于壳牌的书,但我很快就会想到认证:)再次非常感谢。非常感谢!从那以后,我读了很多关于壳牌的书,但我很快就会想到认证:)再次感谢。

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!