在bash命令行的末尾,如果我跑“中找到。-name‘ABC *’”,它打印出像将字符串以在bash /每输出线CSH
abc1
abc2
abc3
的文件名列表
如何回声或其他命令我管吧,让我得到这个输出:
abc1 ok
abc2 ok
abc3 ok
在bash命令行的末尾,如果我跑“中找到。-name‘ABC *’”,它打印出像将字符串以在bash /每输出线CSH
abc1
abc2
abc3
的文件名列表
如何回声或其他命令我管吧,让我得到这个输出:
abc1 ok
abc2 ok
abc3 ok
find . -name 'abc*' | sed 's/$/\tok/' | column -t
sed
附加字符串<Tab>ok
每一行,并column
很好地格式化输出(如果你不需要它,你可以跳过这个)。
看一看在paste
标准命令。或者对于find
的每个元素,手动回显文件名和该文件名上的函数结果。
你能告诉你最终想做什么吗?
你可以使用xargs
:
find -iname "abc" | xargs -IREPL echo REPL ok
管它通过战略经济对话是单向的:
| sed -e 's/\(^.*\)/\1 ok/'
使用这样的事情:
find . -name "abc*" -exec echo "{} - ok" \;
简单:
$ find . -name 'abc*' | xargs -I {} echo {} OK
我倾向于写:
whatever | while read line; do echo $line ok; done
这可能是矫枉过正的东西这个简单,但它成为最简单的事情要做,如果你想用线来做更复杂的事情。而且它不涉及记住如何使sed工作!
find . -name 'abc*' -exec echo {}' OK' \; | column -t
不是从我的答案真的不同,是吗? – histumness 2011-02-08 16:16:44