2013-08-10 4 views
5

द्वारा 'खोज' क्रमबद्ध फ़ाइलों मैं रेखा है वर्णानुक्रम। मैंने उपरोक्त रेखा के आउटपुट को सीधे sort में पाइप करने का प्रयास किया है, लेकिन इसके परिणामस्वरूप फ़ाइल नामों को उनकी सामग्री के बजाय क्रमबद्ध किया जा रहा है। क्या मुझे find के आउटपुट को सरणी में बदलने की आवश्यकता है और फिर इसे sort द्वारा संसाधित किया गया है?बैश:</p> <pre><code>find -maxdepth 1 -type f -iname '*key*' -not -name '*~' </code></pre> <p>मैं सामग्री (जो पाठ होना चाहिए) निकालना चाहते हैं की सभी फाइलों को लौट गया और पाइप कि <code>sort</code> में क्रमबद्ध किया जा करने के लिए: से सामग्री

[संपादित करें] मैं चाहता हूं कि आउटपुट सॉर्ट की गई सामग्री है।

+2

'के माध्यम से xargs' sort' के माध्यम से तो cat' यह पाइप। –

+0

धन्यवाद! यह पूरी तरह से काम किया –

उत्तर

8

पूर्णता खातिर यहां के लिए कर रही के कुछ और तरीके हैं:

  1. find -maxdepth 1 -type f -iname '*key*' -not -name '*~' -exec cat {} \; | sort
  2. find -maxdepth 1 -type f -iname '*key*' -not -name '*~' | xargs cat | sort
  3. cat $(find -maxdepth 1 -type f -iname '*key*' -not -name '*~') | sort
0

आप एक फ़ाइल में क्रमबद्ध उत्पादन को बचाने के लिए चाहते हैं, तो कोशिश:

find -maxdepth 1 -type f -iname '*key*' -not -name '*~' | cat | sort > sorted.txt 

अन्यथा सिर्फ > sorted.txt से छुटकारा पाने और हल कर उत्पादन टर्मिनल विंडो को प्रिंट किया जाएगा।

संबंधित मुद्दे