ما هي طريقة بسيطة تفريغ أنبوب الإدخال إلى ملف ؟ (لينكس)
سؤال
أنا أبحث عن قليلا شيل من شأنها أن تأخذ أي شيء الأنابيب في ذلك ، ويلقونه إلى ملف..البريد الإلكتروني لأغراض التصحيح.أي أفكار ؟
المحلول
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