将字符串连接到bash/csh中每个输出行的末尾

Sky*_*eSM 10 bash string-concatenation

在bash命令行中,如果我运行"find.-name'abc*'",它会打印出一个文件名列表,如

abc1
abc2
abc3
Run Code Online (Sandbox Code Playgroud)

如何用echo或其他命令管道它,以便我得到这个输出:

abc1   ok
abc2   ok
abc3   ok
Run Code Online (Sandbox Code Playgroud)

Bol*_*wyn 11

find . -name 'abc*' | sed 's/$/\tok/' | column -t
Run Code Online (Sandbox Code Playgroud)

sed将字符串附加<Tab>ok到每一行,并column很好地格式化输出(如果你不需要它,你可以跳过它).


Tom*_*son 10

我倾向于写:

whatever | while read line; do echo $line ok; done
Run Code Online (Sandbox Code Playgroud)

对于这么简单的事情来说,这可能有些过分,但如果你想用线做更复杂的事情,它就变得最简单了.它不涉及记住如何使sed工作!


kur*_*umi 6

用GNU查找,

find . -name "abc*" -printf "%f ok\n"
Run Code Online (Sandbox Code Playgroud)


Die*_*ano 5

只是:

$ find . -name 'abc*' | xargs -I {} echo {} OK
Run Code Online (Sandbox Code Playgroud)