3 روانش ارسال
0.1.2 | ۲۲ مه ۲۰۲۴ |
---|---|
0.1.1 | ۵ مارس ۲۰۲۴ |
0.1.0 | ۵ مارس ۲۰۲۴ |
#۶۷۹ در ابزارهای خط فرمان
۱۲ کیلوبایت
۱۴۲ خط
سارگ
سارگ
ابزاری خط فرمان است که به عنوان جایگزین xargs طراحی شده است. برخلاف xargs، آن امکان اجرای دستورات پیاپی به صورت جریاندار را قبل از اتمام برنامه ورودی فراهم میکند. این امکان به پردازش دادههای زمان واقعی منجر میشود و باعث بهبود روند کاری میشود.
زبان
ویژگیها
- اجرای نامحوری: دستورات پیاپی را به محض اینکه دادهها در دسترس قرار میگیرند اجرا میکند، بدون اینکه منتظر اتمام کامل برنامه ورودی باشد.
- بهرهوری بالا: مقدار زیادی داده را به سرعت پردازش میکند در حالی که مصرف حافظه را پایین نگه میدارد، به لطف جریاندار.
- انعطافپذیری: میتواند با محیطهای مختلف پوسته و ابزارهای خط فرمان ترکیب شود و به یک گستره وسیعی از کاربردها پاسخ دهد.
نصب
در حال حاضر، سارگ
میتواند با استفاده از Cargo، مدیریتکننده بستههای Rust، نصب شود.
cargo install sargs-cmd
استفاده
استفاده اساسی آن مشابه xargs است، اما سارگ
در اینجا با این تفاوت که دادهها به صورت جریان به دستور پیاپی ارسال میشوند، متفاوت است. در زیر یک مثال از گرفتن داده از ورودی استاندارد و ارسال هر خط به دستور echo آورده شده است.
cat example.txt | sargs echo
دستور بالا هر خط از فایل مثال.txt
را میخواند و آن را به صورت آنی به دستور echo ارسال میکند، که به پردازش زمان واقعی محتوای فایل منجر میشود. تفاوت در رفتار با xargs ممکن است در این مثال به وضوح نباشد.
برای مثال، اگر دستوری که یک خط میخواند و یک ثانیه منتظر میماند در میانه دستور cat قرار گیرد، xargs همه خطوط را میخواند و سپس دستور را برای همه خطوط اجرا میکند، در حالی که sargs دستور را پس از خواندن هر خط بلافاصله اجرا میکند.
cat example.txt | slow_pass_command | sargs echo
پیکربندی و گزینهها
سارگ
گزینههای قابل شخصیسازی گستردهای ارائه میدهد. شما میتوانید رفتار آن را از طریق گزینههای خط فرمان تنظیم کنید. تمام گزینهها و توضیحات آنها را میتوانید با استفاده از دستور زیر دسترسی پیدا کنید.
sargs --help
Usage: sargs [OPTIONS] [ARGS]...
Arguments:
[ARGS]...
Options:
-I <INPUT_PLACEHOLDER>
--buffer-size <BUFFER_SIZE>
-h, --help Print help
-V, --version Print version
PLACEHOLDER ورودی
شما میتوانید یک جایگزین برای دادههایی که به دستور پیاپی ارسال میشوند با استفاده از گزینه -I
یا --input-placeholder
تعیین کنید.
cat example.txt | sargs -I __INPUT__ echo __INPUT__
در دستور بالا، __INPUT__
با محتوای هر خط هنگام ارسال به دستور echo جایگزین میشود.
اندازه بافر
您可以使用 --buffer-size
选项指定输出命令的缓冲区数量。默认值为 128
。
贡献
sargs
是一个开源项目,欢迎社区贡献。请通过 GitHub 仓库提交错误报告、功能建议和拉取请求。
许可证
sargs
采用 MIT 许可证 发布。
依赖项
~4–11MB
~100K SLoC