cat - ادغام چند فایل در یک پرونده

cat مخفف کلمه Concatenate به معنای الصاق کردن و متصل نمودن است. از دستور cat برای چسباندن چند فایل به هم و نمایش آن ها در خروجی استاندارد استفاده می‌شود.

نمای کلی دستور به صورت زیر است:

$ cat [options] [file]

options: پارامترهای مورد نیاز.

file: فایل‌هایی که قرار است به هم چسبانده شوند.

در مثال‌های زیر فرض می‌کنیم فایل‌هایی به نام‌های test1 و test2 داریم که شامل محتویات زیر است:

test1:

this is test1 file line1.

this is test1 file line3.

test2:

this is test2 file.

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

cat test1
this is test1 file line1.

this is test1 file line3.

توضیح پارامترها:

b-یا number-nonblank--: خطوطی که خالی نیستند را شماره گذاری می‌کند. اگر بعد از پارامتر n-به کار رود، آن را بی اثر می‌کند.

cat -b test1
     1    this is test1 file line1.

     2    this is test1 file line3.

E-یا show-ends--: در انتهای هر خط از علامت $استفاده می‌کند.

cat -E test2
this is test2 file.$

n-یا number--: همه خطوط را شماره گذاری می‌کند.

cat -n test1
     1    this is test1 file line1.
     2
     3    this is test1 file line3.

s-یا squeeze-blank--: اگر چند خط خالی پشت سر هم وجود داشته باشند، فقط یک خط خالی نشان می‌دهد.

T-یا show-tabs--: همه کاراکترهای تب (tab) را به صورت I^نشان می‌دهد.

v-یا show-nonprinting--: همه کاراکترهای غیر قابل چاپ به جز کاراکتر تب و کاراکتر پایان خط را به فرم ^یا -Mنشان می‌دهد.

نکته: برای چسباندن چند فایل به هم، همه فایل‌ها را به ترتیب می‌نویسیم:

cat test1 test2
this is test1 file line1.

this is test1 file line3.
this is test2 file.

cat test2 test1
this is test2 file.
this is test1 file line1.

this is test1 file line3.

نکته: همان‌طور که توجه کردید، دستور cat بعد از هر فایل کاراکتر پایان خط را اضافه می‌کند و فایل بعدی را از خط جدید شروع می‌کند.

نکته: همان‌طور که توجه کردید، ترتیب قرار دادن فایل‌ها مهم است.

نکته: اگر خواستیم محتویات دو فایل به جای خروجی، در یک فایل دیگر ذخیره شود، به ترتیب زیر عمل می‌کنیم:

cat test1 test2 > newFile

حال محتویات فایل newFile را در خروجی چاپ می‌کنیم:

cat newFile
this is test1 file line1.

this is test1 file line3.
this is test2 file.

cat -n test1 test2 > newFile2
cat newFile2
     1    this is test1 file line1.
     2    
     3    this is test1 file line3.
     4    this is test2 file.