这应该是一个非常简单的任务:我想获取任何旧命令的stdout的每一行,并使用每个命令执行另一个命令作为参数.
例如:
ls | grep foo | applycommand'mv%s bar /'
这将使所有匹配" foo "并将其移动到bar /目录.
(我觉得有点尴尬,要求什么可能是一个非常明显的解决方案.)
Chr*_*ung 15
该程序被调用xargs.
ls | grep foo | xargs -I %s mv %s bar/
Run Code Online (Sandbox Code Playgroud)
ls | grep foo | while read FILE; do mv "$FILE" bar/; done
Run Code Online (Sandbox Code Playgroud)
但是,这种特殊操作可以更简单地完成:
mv *foo* bar/
Run Code Online (Sandbox Code Playgroud)
或者对于递归解决方案:
find -name '*foo*' -exec mv {} bar/ \;
Run Code Online (Sandbox Code Playgroud)
在find命令{}中将替换为匹配的文件列表.
| 归档时间: |
|
| 查看次数: |
4656 次 |
| 最近记录: |