আপনি জিএনইউ ব্যবহার করলে কমান্ডটি তেমনভাবে ঘনীভূত হতে পারে sed
:
$ sed 's/^[ \t]*//;s/[ \t]*$//' < file
উদাহরণ
কর্মের উপরের কমান্ডটি এখানে।
$ echo -e " \t blahblah \t " | sed 's/^[ \t]*//;s/[ \t]*$//'
blahblah
আপনি hexdump
নিশ্চিত করতে ব্যবহার করতে পারেন যে sed
কমান্ডটি পছন্দসই অক্ষরগুলি সঠিকভাবে সরিয়ে ফেলছে।
$ echo -e " \t blahblah \t " | sed 's/^[ \t]*//;s/[ \t]*$//' | hexdump -C
00000000 62 6c 61 68 62 6c 61 68 0a |blahblah.|
00000009
চরিত্রের ক্লাস
আপনি আক্ষরিকভাবে এই জাতীয় সেটগুলি তালিকাভুক্ত করার পরিবর্তে অক্ষর শ্রেণীর নামগুলিও ব্যবহার করতে পারেন [ \t]
:
$ sed 's/^[[:blank:]]*//;s/[[:blank:]]*$//' < file
উদাহরণ
$ echo -e " \t blahblah \t " | sed 's/^[[:blank:]]*//;s/[[:blank:]]*$//'
নিয়মিত এক্সপ্রেশন (রেজেক্স) ব্যবহার করে এমন বেশিরভাগ জিএনইউ সরঞ্জাম এই ক্লাসগুলিকে সমর্থন করে।
[[:alnum:]] - [A-Za-z0-9] Alphanumeric characters
[[:alpha:]] - [A-Za-z] Alphabetic characters
[[:blank:]] - [ \x09] Space or tab characters only
[[:cntrl:]] - [\x00-\x19\x7F] Control characters
[[:digit:]] - [0-9] Numeric characters
[[:graph:]] - [!-~] Printable and visible characters
[[:lower:]] - [a-z] Lower-case alphabetic characters
[[:print:]] - [ -~] Printable (non-Control) characters
[[:punct:]] - [!-/:-@[-`{-~] Punctuation characters
[[:space:]] - [ \t\v\f] All whitespace chars
[[:upper:]] - [A-Z] Upper-case alphabetic characters
[[:xdigit:]] - [0-9a-fA-F] Hexadecimal digit characters
আক্ষরিক সেটগুলির পরিবর্তে এগুলি ব্যবহার করা সর্বদা জায়গার অপচয় হিসাবে মনে হয় তবে আপনি যদি নিজের কোডটি বহনযোগ্য বলে বিবেচনা করেন বা বিকল্প চরিত্র সেটগুলি (আন্তর্জাতিক মনে করেন) নিয়ে কাজ করে থাকেন তবে আপনি সম্ভবত শ্রেণীর নামগুলি ব্যবহার করতে চাইবেন পরিবর্তে.
তথ্যসূত্র