প্রতিধ্বনির সাহায্যে নতুন লাইনের চরিত্র কীভাবে প্রিন্ট করা যায়?


15

আমি hexdumpএই মত একটি স্ট্রিং ডাম্প 2031 3334 2e30 0a32 2032 3331 302e 000a। এটা স্পষ্ট যে 0x0aনতুন লাইন চরিত্রটি, যাইহোক, আমি যখন এই স্ট্রিংটিকে প্রতিধ্বনিত করার চেষ্টা করি তখন আমি সর্বদা পেয়েছিলাম 1 430.2 2 13.0- নতুন লাইনটি একটি স্থান দিয়ে প্রতিস্থাপন করা হয়েছে, এমনকি আমি -eপতাকাটি ব্যবহার করি ।

কী সমস্যা হতে পারে? টেলিং কি \0আউটপুট নষ্ট করে? 0x0aনতুন লাইন মুদ্রণের জন্য কি বিকল্প আছে ?

ধন্যবাদ এবং আন্তরিক শ্রদ্ধা.


আমি যখন এই স্ট্রিংটিকে প্রতিধ্বনিত করার চেষ্টা করি তখন আপনি কীভাবে তা করেন? আপনি সঠিক আদেশটি কী ব্যবহার করেন?
ডেনিস

আমি বলতে চাচ্ছি @Dennis echo -e। ধন্যবাদ, আমি একটি সমাধান খুঁজে পাই।
গ্রীষ্ম_মুড়_আর_আর

1
পছন্দসই সমাধানটি কেবল printf "...\n"পরিবর্তে ব্যবহার করা echo
মাইকেল

উত্তর:


26

echoকমান্ড সহ নতুন লাইন চরিত্রটি "\ n"। নিম্নলিখিত উদাহরণ গ্রহণ করা:

echo -e "This is line 1\nThis is line 2"

ফলাফল আউটপুট হবে

This is line 1
This is line 2

"-E" প্যারামিটারটি হল এখানে গুরুত্বপূর্ণ।


3
বিটিডব্লিউ, এটি "echo -e ..."সঠিকভাবে কাজ করতে বাশের প্রতিধ্বনি উপর নির্ভর করে (উদাহরণস্বরূপ, dashকেবল "-e" মুদ্রণ করবে); তবে '/ বিন / প্রতিধ্বনি' কাজ করতে পারে (বা নাও পারে)। দুর্ভাগ্যক্রমে (সম্ভবত যথাযথভাবে), প্রচুর প্রতিধ্বনি রয়েছে এবং আপনি কোনটি পেতে যাচ্ছেন সে সম্পর্কে আপনি সত্যিই যত্ন নিতে চান না। 'printf "....\n"এনভির এবং শেলগুলি জুড়ে ব্যবহার করা একটি আরও বহনযোগ্য বিকল্প।
মাইকেল

@ মাইকেল_এন যা আসলে শেষ পর্যন্ত ওপিও উল্টে গেছে । তবে প্রশ্নটি "প্রতিধ্বনি সহ" স্পষ্ট করে বলছিল - তাই আমার উত্তর এভাবেই দেওয়া হবে। যাইহোক, এটি "বাশের সাথে" ছিল না - তাই আপনাকে এই পার্থক্যগুলি দেখানোর জন্য ধন্যবাদ!
Izzy

5

পজিক্স 7 বলে যে আপনি পারবেন না

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html

-e সংজ্ঞায়িত হয় না এবং ব্যাকস্ল্যাশগুলি বাস্তবায়ন সংজ্ঞায়িত হয়:

যদি প্রথম অপারেন্ডটি -n হয়, বা যদি কোনও অপারেন্ডে <ব্যাকস্ল্যাশ> অক্ষর থাকে তবে ফলাফলগুলি বাস্তবায়ন-সংজ্ঞায়িত হয়।

আপনার যদি কোনও Xচ্ছিক এক্সএসআই এক্সটেনশন না থাকে।

printfপরিবর্তে ব্যবহার করুন:

XBD ফাইল ফর্ম্যাট নোটেশন বর্ণিত বিন্যাস স্ট্রিং হিসাবে ফর্ম্যাট অপারেন্ড ব্যবহার করা হবে [...]

ফাইল ফর্ম্যাট স্বরলিপি :

। n <নিউলাইন> মুদ্রণ অবস্থানটি পরবর্তী লাইনের শুরুতে সরান।

এছাড়াও মনে রাখবেন যে উবুন্টু 15.10 এবং বেশিরভাগ ডিস্ট্রো echoউভয় হিসাবে প্রয়োগ করে:

  • অন্তর্নির্মিত একটি বাশ: help echo
  • একক নির্বাহযোগ্য: which echo

যা কিছু বিভ্রান্তির কারণ হতে পারে।


2

আমি শেষ পর্যন্ত সঠিকভাবে এই স্ট্রিংটি ফর্ম্যাট করি printf "$string"। সবাইকে ধন্যবাদ.


এটা কি $stringযে আপনি কথা বলতে পারে? এটি কীভাবে প্রশ্নের সাথে যুক্ত? \nএটি অন্যান্য দুটি উত্তর হিসাবে জড়িত না কি ?
পিটার মর্টেনসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.