内のすべての出力行の末尾に文字列を連結「を見つける。-name 『ABC *』」、それは、bashのコマンドラインではbash/CSH
abc1
abc2
abc3
のようなファイル名のリストを出力します
はどのようにエコーや他のコマンドとのパイプを、私はこの出力を得るようにすることができます
abc1 ok
abc2 ok
abc3 ok
内のすべての出力行の末尾に文字列を連結「を見つける。-name 『ABC *』」、それは、bashのコマンドラインでは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
使用することができます、それはsedを経由
find -iname "abc" | xargs -IREPL echo REPL ok
パイプを、一つの方法である:
| sed -e 's/\(^.*\)/\1 ok/'
使用このような何か:
find . -name "abc*" -exec echo "{} - ok" \;
単に:
この単純な何かのためにやり過ぎかもしれないwhatever | while read line; do echo $line ok; done
が、それは次のようになります。
$ find . -name 'abc*' | xargs -I {} echo {} OK
私が書く傾向にありますあなたがラインでもっと複雑なことをしたい場合は、最も簡単なことです。そして、それはセックスの仕事をする方法を覚えている必要はありません! GNUで
find . -name 'abc*' -exec echo {}' OK' \; | column -t
ない私の答えから本当に違う、見つけ、それを何ですか? – histumness