将字符串连接到 bash/csh 中每个输出行的末尾
在 bash 命令行中,如果我运行“find . -name 'abc*' ”,它会打印出文件名列表,例如
abc1
abc2
abc3
如何使用 echo 或其他命令对其进行管道传输,以便我得到以下输出:
abc1 ok
abc2 ok
abc3 ok
In bash command line, if I run "find . -name 'abc*' ", it prints out a list of filenames like
abc1
abc2
abc3
How can I pipe it with echo or other command, so that i get this output:
abc1 ok
abc2 ok
abc3 ok
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
sed
将字符串ok
附加到每一行,并且column
很好地格式化了输出(如果您不这样做,您可以跳过此操作)不需要它)。sed
appends the string<Tab>ok
to each line, andcolumn
formats the output nicely (you can just skip this, if you don't need it).我倾向于这样写:
对于这么简单的事情来说这可能有点过分了,但如果你想用这条线做更复杂的事情,它就成为最简单的事情。而且它不涉及记住如何使 sed 工作!
I tend to write:
That might be overkill for something this simple, but it becomes the simplest thing to do if you want to do more complicated things with the line. And it doesn't involve remembering how to make sed work!
通过 GNU 查找,
With GNU find,
简单地:
Simply:
通过 sed 进行管道传输是一种方法:
Pipe it through sed, is one way:
您可以使用 xargs:
You could use
xargs
:看一下
paste
标准命令。或者对于find
的每个元素,您可以手动回显文件名和该文件名上的函数的结果。你能告诉我你最后想做什么吗?
Have a look at the
paste
standard command. Or for each element of whatfind
shall get you manually echo the filename and the result of a function on that filename.Can you please tell what you finally want to do?
使用这样的东西:
Use something like this :