tgoop.com/LinFAQ/216
Create:
Last Update:
Last Update:
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی
راجب وارد کردن محتوای چند فایل به stdin:
بعضی مواقع یه اسکریپت یا دستوری دارید (مثل دستور
sudo pacman -Syu --needed - < packages.txtکه داخل یکی از نکات قبلی بیان شد) و نیازه که به جای یه فایل، چند فایل رو به عنوان ورودی بهش بدید
(تو همین مورد بالا به عنوان مثال بخواید لیست پکیج هاتون رو داخل فایل های مختلف قرار بدید و دسته بندی کنید).
اولین چیزی که به ذهن میرسه اینه که شخص کل اون فایل ها رو پشت هم لیست کنه، اما جواب نمیده و فقط یکیشون رو به عنوان ورودی ارائه میکنه (فکر کنم مورد آخر؟). راه حلش هم ساده هست، مثال:
cat < <(cat file.txt file2.txt)که دستور بالا محتوای هر 2 فایل رو نمایش میده، اما اگه تست کنید
cat < file.txt file2.txtفقط محتوای فایل دوم نمایش داده میشه و اگه از
cat < cat file.txt file2.txtاستفاده کنید احتمالا
(اگه فایلی به اسم cat تو اون مسیر نداشته باشید P:)
با خطای "no such file or directory" مواجه میشید
(پس بین این 3 مورد فقط مورد اول درست جواب میده).
در نهایت تاکید کنم اون cat ابتدای 3 دستور بالا صرفا جهت بررسی صحت مقدار stdin از طریق پرینتش هست و طبیعتا باید با دستور یا اسکریپت مد نظرتون جایگزین بشه.
منابع بیشتر:
https://stackoverflow.com/questions/33157198/multiple-input-text-files-as-stdin-under-unix
https://unix.stackexchange.com/questions/20285/shorthand-for-feeding-contents-of-multiple-files-to-the-stdin-of-a-script
https://stackoverflow.com/questions/1487319/submitting-multiple-files-from-shell-script-through-standard-input
https://stackoverflow.com/questions/44552188/redirect-multiple-files-to-stdin
🔅@LinFAQ
🔅@LinAcademy
BY LinFAQ

Share with your friend now:
tgoop.com/LinFAQ/216
