আমি একটি স্ক্রিপ্ট নিম্নলিখিত টেক্সট আউটপুট আছে। এই আউটপুট Netopia 2210-02 ADSL2 মডেম।
ADSL Line State: Up
ADSL Startup Attempts: 1
ADSL Modulation: DMT
ADSL Data Path: Fast
Datapump Version: DSP 7.2.3.0, HAL 7.2.1.0
SNR Margin: 8.20 9.00 dB
Line Attenuation: 57.50 31.00 dB
Output Power: 17.09 12.34 dBm
Errored Seconds: 0 0
Loss of Signal: 0 476
Loss of Frame: 0 0
CRC Errors: 57921 416
Data Rate: 2880 1024
আমি কীভাবে প্রতিটি লাইনের শেষ প্রান্তের অক্ষরটি সরিয়ে ফেলতে পারি? আমি (হ্যাঁ এটা কুৎসিত) ভালো কিছু চেহারা আউটপুট চাই:
ADSL Line State: Up ADSL Startup Attempts: 1 ADSL Modulation: DMT ADSL Data Path: Fast Datapump Version: DSP 7.2.3.0, HAL 7.2.1.0 SNR Margin: 8.20 9.00 dB Line Attenuation: 57.50 31.00 dB Output Power: 17.09 12.34 dBm Errored Seconds: 0 0 Loss of Signal: 0 476 Loss of Frame: 0 0 CRC Errors: 57921 416 Data Rate: 2880 1024
আমি এর মতো কয়েকটি সমাধান চেষ্টা করেছিলাম, তবে সেগুলি কার্যকর হয় না:
# (This simply outputs the contents of the script, unmodified)
stefanl@hosta:~/Work/Cacti $ ./script | sed -e 's/$//'
আমিও ব্যবহার করার চেষ্টা tr
। আমি নিম্নলিখিত কমান্ডটি প্রতিটি নতুন লাইন অক্ষরকে স্থানের অক্ষরের সাথে প্রতিস্থাপন করার প্রত্যাশা করছিলাম। এই একাধিক লাইনের গ্রহণ করা এবং তাদের এক দীর্ঘ একক লাইন একত্রিত হবে। পরিবর্তে, এই শুধুমাত্র আউটপুট শেষ লাইনটি প্রদর্শন করা হয়। এটা তোলে আউটপুট পরের লাইনে সঙ্গে প্রতিটি পরবর্তী লাইন ওভাররাইট বলে মনে হয়।
stefanl@hosta:~/Work/Cacti $ ./script | tr '\n' ' '
Data Rate: 2880 1024stefanl@hosta:~/Work/Cacti $
stefanl@hosta:~/Work/Cacti $
আপডেট :
আরও পরীক্ষার পরে, প্রতিটি লাইন মত একটি ফিরতি অক্ষর দ্বারা পূর্বে হয় দেখায়। হিসাবে এই শো ^M
যখন ব্যবহার less
। সুতরাং, আমি দুটি tr
বিবৃতি যোগ । ডিলিট সম্পর্কে newline অক্ষর এক, এক রিটার্ন চরিত্র মুছে দিন।
./script | | tr -d '\n' | tr -d '\r'
tr '\n' ' '
এবংtr -d '\n'
একটি অদ্ভুত উপায়ে লাইন মোড়ানো হবে। আমি ফলাফল দেখানোর জন্য আমার প্রশ্ন আপডেট করা হয়েছে। তাই, আমিই হয়তো ব্যবহার করতে হবেtr
, কিন্তু আমি ঠিক কিভাবে এটি সঠিকভাবে ব্যবহার ব্যবহার করতে জিনিসটা প্রয়োজন।