কেবলমাত্র গতিবেগের-ফলাফলের ফলাফল ছাঁটাই কিভাবে ডাউনলোডের গতিবেগ?


8

আমি পর্যায়ক্রমে আমার দ্রুততম ডাউনলোডের গতির ফলাফল সূচক-সিসমনিটারে প্রদর্শন করতে চাই ।

যদি আপনি চালনা করেন তবে স্পিডেস্ট-ক্লাইলে কিছুটা ছাঁটাই আউটপুট থাকে

$ speedtest-cli --simple
Ping: 50.808 ms
Download: 10.87 Mbit/s
Upload: 4.47 Mbit/s 

কেবলমাত্র ডাউনলোডের গতির অঙ্কের চেয়ে আরও বেশি আউটপুট ট্রিম করার কোনও উপায় আছে কি?


আপনি --no-uploadআপলোড প্রদর্শন না করার জন্য বিকল্পটি ব্যবহার করতে পারেন ।
нιηসু

উত্তর:


11

হিসাবে speedtest-cliএকটি পাইথন প্রোগ্রাম ও লাইব্রেরি এটি একটি সংক্ষিপ্ত বিকল্প প্রোগ্রাম যা শুধুমাত্র একটি ডাউনলোড পরীক্ষা সঞ্চালিত হবে এবং আউটপুট ছাপে করতে মোটামুটি সহজ।

একটি সম্পাদক খুলুন, হিসাবে সংরক্ষণ করুন dl-speedtest.py

import speedtest

s = speedtest.Speedtest()
s.get_config()
s.get_best_server()
speed_bps = s.download()
speed_mbps = round(speed_bps / 1000 / 1000, 1)
print(speed_mbps)

সাথে চালানো python dl-speedtest.py

এটি বিপিএসে ফলাফল দেয় , যেমন ভাসমান পয়েন্ট নম্বর এমবিপিএসকে অনুরোধ অনুসারে এক দশমিক দশমিক এক হয়

এটির জন্য গতিময়-ক্লাইমের সর্বনিম্ন সংস্করণটি 1.0.0 আমি মনে করি, pip install speedtest-cli --upgradeআপগ্রেড করার জন্য আপনার প্রয়োজন হতে পারে ।


সৌন্দর্য, ধন্যবাদ! @ মিষ্টান্নের উত্তর যতটা দুর্দান্ত, দক্ষতার কারণে এটিই আমি শেষ করেছি। আমি প্রতি কয়েক মিনিট পরে এটি পোলিং করছি তাই অপ্রয়োজনীয় কলগুলিতে ফ্যাট ছাঁটাই করা আমার পক্ষে উপকারী।
আদম

@ অ্যাডাম আপনার নিজের প্রশ্নটি সম্পাদনা করা উচিত এবং সেই অনুযায়ী পরিবর্তন করা উচিত - শিরোনামটি বর্তমানে এই উত্তরটির সাথে মেলে না।
মিষ্টান্ন

12

এটি এর জন্য একটি কাজ awk:

speedtest-cli --simple | awk 'NR==2{print$2}'      # just the numeral
speedtest-cli --simple | awk 'NR==2{print$2" "$3}' # numeral and unit

ব্যাখ্যা

  • NR==2 - লাইন নিতে 2
  • {print$2} - দ্বিতীয় কলাম মুদ্রণ করুন (স্থান দ্বারা পৃথক পৃথক)
  • {print$2" "$3} - দ্বিতীয় কলামটি তারপরে একটি স্থান এবং তৃতীয়টি মুদ্রণ করুন

সঙ্গে sedএটা একটু বেশি জটিল:

speedtest-cli --simple | sed '/D/!d;s/.* \(.*\) .*/\1/' # just the numeral
speedtest-cli --simple | sed '/D/!d;s/[^ ]* \(.*\)/\1/' # numeral and unit

ব্যাখ্যা

  • /D/!d- এগুলিকে ধারণ করে Dএবং না করে ( !) dএগুলি যুক্ত করুন তবে প্রতিটি অন্যান্য লাইন অনুসন্ধান করুন
  • s/A/B/- সঙ্গে subst متبادلAB
  • .* - সব নিয়ে যাও
  • [^ ]*- সমস্ত কিছু যা ^কোনও স্থান নেই ( )
  • (স্থানের অক্ষর) - একটি আক্ষরিক স্থান
  • \(…\) - সবকিছু ভিতরে নিয়ে যান এবং এটি একটি গোষ্ঠী হিসাবে সংরক্ষণ করুন
  • \1 - গ্রুপ 1 এর বিষয়বস্তু পান


1

আপনি এটি চেষ্টা করতে পারেন:

speedtest-cli --simple | grep "Download: " | sed "s/Download: //g"

2
এর সাথে grepএকত্রিত হওয়ার পরিবর্তে sedআপনি সহজেই মত প্রকাশের শেষে ব্যবহার sed -nএবং সংযোজন করতে pপারেন speedtest-cli --simple | sed -nr 's/Download:\s*//p'
Ruslan

1

এবং তারপরে রয়েছে:

speedtest-cli --simple | grep Download | awk '{print $2}'

লাইন সিলেক্টর না থাকলেও ডেজার্টের প্রথম বিকল্পটি পছন্দ করুন।


1
এটি করা খুব কমই কার্যকর grep ... | awk-speedtest-cli --simple | awk '/Download/{print $2}'
মুড়ু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.