Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 使用标准输入提供的参数多次运行命令_Unix - Fatal编程技术网

Unix 使用标准输入提供的参数多次运行命令

Unix 使用标准输入提供的参数多次运行命令,unix,Unix,我记得看到过一个unix命令,它从标准输入中提取行,并多次执行另一个命令,每行输入都作为参数。就我的一生而言,我不记得命令是什么,但语法是这样的: ls | multirun -r% rm % 在本例中,rm%是要多次运行的命令,-r%是一个选项,而不是用输入行替换%(我也不记得真正的选项是什么,我只是以-r为例)。complete命令将通过依次将每个文件的名称传递给rm(当然,假设当前目录中没有目录)来删除当前目录中的所有文件。multirun的真实名称是什么?该命令称为'xargs':-)

我记得看到过一个unix命令,它从标准输入中提取行,并多次执行另一个命令,每行输入都作为参数。就我的一生而言,我不记得命令是什么,但语法是这样的:

ls | multirun -r% rm %

在本例中,
rm%
是要多次运行的命令,
-r%
是一个选项,而不是用输入行替换
%
(我也不记得真正的选项是什么,我只是以
-r
为例)。complete命令将通过依次将每个文件的名称传递给
rm
(当然,假设当前目录中没有目录)来删除当前目录中的所有文件。multirun的真实名称是什么?

该命令称为'xargs':-),您可以按如下方式运行它


ls | xargs echo我希望rm-f文件

该命令名为'xargs':-),您可以按如下方式运行它


ls | xargs echo我很乐意rm-f文件

谢谢!正确的完整命令应该是
ls | xargs-I%rm%
不需要
%
s在那里。。。我不认为。。。man 1 xargs应该给你系统上的确切味道是的,你是对的,
ls | xargs rm
在这种情况下就可以了,我想当我看到之前的命令时,它更复杂了,只有部分参数是从标准中给出的,所以
-I%
是必需的,经过一些实验后,看起来
ls | xargs cmd
相当于
cmd a b c
(其中a-c是当前目录中的文件),而
xargs-I%cmd%
相当于
cmd a;cmd b;cmd c
%x
在这里是一个错误的选择,因为它是由shell扩展的(至少是korn和bash shell,IIRC)。提示:避免使用
%
。谢谢!正确的完整命令应该是
ls | xargs-I%rm%
不需要
%
s在那里。。。我不认为。。。man 1 xargs应该给你系统上的确切味道是的,你是对的,
ls | xargs rm
在这种情况下就可以了,我想当我看到之前的命令时,它更复杂了,只有部分参数是从标准中给出的,所以
-I%
是必需的,经过一些实验后,看起来
ls | xargs cmd
相当于
cmd a b c
(其中a-c是当前目录中的文件),而
xargs-I%cmd%
相当于
cmd a;cmd b;cmd c
%x
在这里是一个错误的选择,因为它是由shell扩展的(至少是korn和bash shell,IIRC)。提示:避免
%