expand - تبدیل tab به تعداد اسپیس دلخواه

دستور expand برای تبدیل tab به تعداد اسپیس دلخواه استفاده می‌شود.

شکل کلی دستور:

$ expand [option] [file]

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

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

برای پیدا کردن tabها در متن بالا از دستور cat می‌تونین استفاده کنین که در هرجا نماد  ^I نمایش داده شد، نمایان‌گر یک tab است.

aliabry@lp:~$ cat -T test
A^IB
C^I^ID
E F^IG

تبدیل tab به اسپیس

اگر دستور expand رو بدون کار بردن آپشنی بزنین به‌صورت پیش‌فرض هر tab رو تبدیل به ۷ اسپیس می‌کند.

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

همون‌طور که می‌بینین بعد از زدن دستور expand در خروجی دستور cat دیگه چرکتر ^I نشون داده نمی‌شود.

تبدیل tab به تعداد اسپیس دلخواه

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

aliabry@lp:~$ expand -t 2 test
A B
C   D
E F G

i-: این آپشن برای تبدیل tabهای اول خط استفاده می‌شود. مثلا فایل زیر رو در نظر بگیرید:

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

حالا اگر از آپشن i-استفاده کنیم فقط tab قبل از حرف A تبدیل به ۲ اسپیس می‌شود.

aliabry@lp:~$ expand -i -t 2 test
  A    B
C        D
E F    G