unexpand - تبدیل مجموعه‌ای از اسپیس به tab

دستور unexpand برای تبدیل مجموعه‌ای از اسپیس‌ها به tab استفاده می‌‌شود.

در طی آموزش از نمونه فایل زیر استفاده می‌کنم:

aliabry@lp:~$ cat -T test
        A       B
C               D
E F     G
aliabry@lp:~$ cat -T test
        A       B
C               D
E F     G

اگر دستور unexpand رو به تنهایی و بدون هیچ آپشنی بزنین به‌صورت پیش‌فرض هر ۷ اسپیس رو به یک tab تبدیل می‌کند، همچنین این دستور به‌صورت پیش‌فرض فقط مجموعه‌ای از اسپیس‌های اول خط رو به tab تبدیل می‌کند که در زیر ۷ اسپیس قبل از حرف A رو به tab تبدیل کرده است:

aliabry@lp:~$ unexpand test
    A       B
C               D
E F     G
aliabry@lp:~$ unexpand test > test2
aliabry@lp:~$ cat -T test2
^IA       B
C               D
E F     G

برای این که فقط اسپیس‌های اول خط رو تبدیل نکند از آپشن A-استفاده کنین:

aliabry@lp:~$ unexpand -a test
    A    B
C        D
E F    G
aliabry@lp:~$ unexpand -a test > test2
aliabry@lp:~$ cat -T test2
^IA^IB
C^I^ID
E F^IG

تعیین تعداد اسپیس

برای تعیین تعداد اسپیس از آپشن t-استفاده کنین.

در زیر هر ۲ اسپیس به یک tab تبدیل می‌شود:

aliabry@lp:~$ unexpand -a -t2 test
                A                B
C                                D
E F            G
aliabry@lp:~$ unexpand -a -t2 test > test2
aliabry@lp:~$ cat -T test2
^I^I^I^IA^I^I^I^IB
C^I^I^I^I^I^I^I^ID
E F^I^I^IG