ما هي طريقة بسيطة تفريغ أنبوب الإدخال إلى ملف ؟ (لينكس)

StackOverflow https://stackoverflow.com/questions/76700

  •  09-06-2019
  •  | 
  •  

سؤال

أنا أبحث عن قليلا شيل من شأنها أن تأخذ أي شيء الأنابيب في ذلك ، ويلقونه إلى ملف..البريد الإلكتروني لأغراض التصحيح.أي أفكار ؟

هل كانت مفيدة؟

المحلول

Unix الأمر المحملة يفعل هذا.

man tee

نصائح أخرى

cat > FILENAME

أنت لست وحدك في الحاجة إلى شيء مماثل...في الواقع, شخص يريد أن وظيفة منذ عقود و المتقدمة المحملة :-)

بالطبع يمكنك إعادة توجيه المعياري مباشرة إلى ملف في أي قذيفة باستخدام > حرف:

echo "hello, world!" > the-file.txt

القياسي يونكس أداة المحملة يمكن أن تفعل هذا.نسخ مدخلات الانتاج ، في حين أيضا تسجيل الدخول إلى ملف.

استخدام Procmail.Procmail هو صديقك.Procmail هو هذا النوع من الشيء.

إذا كنت ترغب في تحليل ذلك في النص:

while /bin/true; do
    read LINE
    echo $LINE > $OUTPUT
done

ولكن يمكنك ببساطة استخدام القط.إذا كان القط يحصل شيء على stdin ، وسوف صدى ذلك إلى المعياري, لذلك عليك أن الأنابيب إلى القط >$الانتاج.هذه سوف تفعل الشيء نفسه.والثاني يعمل البيانات الثنائية أيضا.

إذا كنت تريد شيل, جرب هذا:

#!/bin/sh
exec cat >/path/to/file

إذا الاستيراد والتصدير أو تنسخ ما يكتب في الأنابيب ، ثم procmail هو إجابة جيدة لأنها سوف تعطيك ملف تأمين/التسلسل و يمكنك وضعه في نفس الملف.

إذا كنت ترغب فقط في الكتابة إلى ملف ، ثم - المحملة > /tmp/log.$$ أو - القط > /tmp/log.$$ قد تكون جيدة بما فيه الكفاية.

استخدام <<command>> | tee <<file>> للأنابيب أمر <<command>> في ملف <<file>>.

هذا وسوف تظهر أيضا الإخراج.

؟ أعتقد أنا لا أفهم السؤال ؟

لا يمكنك فقط نهاية الأنابيب الخاصة بك إلى >> ~file

على سبيل المثال

echo "Foobar" >> /home/mo/dumpfile

سوف إلحاق Foobar إلى dumpfile (وخلق dumpfile إذا لزم الأمر).لا حاجة شيل...هل هذا ما كنت تبحث عنه ؟

إذا كنت لا تهتم حول إخراج النتيجة

cat - > filename

أو

cat > filename
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top