0

このように同じ行でコマンドgrepを3回使用しています

ls -1F ./ | grep / | grep -v 0_*.* | grep -v undesired_result

3回パイプする代わりに、それらを1つのコマンドに組み合わせる方法はありますか?

4

1 に答える 1

0

1つのコマンドラインでポジティブ検索(grep <something>)とネガティブ検索()の両方を実行する方法はありませんが、サポート(または)があれば、サブプロセスの数を1つ減らすことができます。それを超えるには、必要なものまたは不要なものすべてに正確に一致する特定の正規表現を考え出す必要があります。grep -v <something>grep-Eegrepls -1F ./ | grep / | grep -E -v '0_*.*|undesired_result'

実際、最初の文は完全に正しいわけではないと思いますがegrep、正と負の両方の部分を正しく含み、部分のすべての可能な順序をカバーする適切な正規表現を構築することは、価値があるよりもイライラするかもしれません...

于 2012-09-11T16:48:26.023 に答える