যদি সেই অক্ষরগুলি সমস্ত একক-বাইট হয়, তবে এটি যদি আপনি এমন কোনও লোকালে থাকেন যেখানে চরসেটটি একক-বাইট (যেমন iso8859-1) হয় বা লোকেলের অক্ষরটি UTF-8 হয় তবে পাঠ্যটি কেবল ASCII হয়, আপনি করতে পারেন :
printf -v y %-40.40s "$y"
এটি কাটা এবং প্যাড উভয়ই কভার করবে।
যদি তা না হয় তবে আপনি সর্বদা 40 টি স্পেস যুক্ত করতে পারেন এবং আপনার ${y:0:40}
পদ্ধতির ব্যবহার করতে পারেন ।
printf -v pad %40s
y=$y$pad
y=${y:0:40}
zsh
বাম এবং ডান প্যাডিংয়ের জন্য নিবেদিত অপারেটর রয়েছে:
y=${(r:40:)y}
(এছাড়াও কাটা কাটা)। zsh
এর printf
বাইট পরিবর্তে অক্ষর সংখ্যা, তাই হতো না bash
উপরে গুলি ইস্যু '। তবে নোট করুন যে বিকল্পটির zsh
জন্য আপনার 5.3 বা আরও নতুন প্রয়োজন -v
।
আপনি যদি এমন অক্ষরের মুখোমুখি হয়ে থাকেন যেগুলির সকলের প্রস্থ একই থাকে না তবে আরও তথ্যের জন্য সম্পর্কিত প্রশ্নের এই উত্তরটিও দেখুন ।