مرموز و متعارف
این مطلب کمی پیچیده است ، اما احتمالاً برخی از مترجمان دارای لاغر فنی می توانند مفید باشند.
چند وقت پیش در مورد قالب TMX برای خاطرات ترجمه نوشتم . این TM ها می توانند پرونده های بسیار بزرگی باشند ، هزاران خط یا حتی میلیون ها خط. پردازش این پرونده ها با روش های سنتی گاهی اوقات می تواند به مشکل تبدیل شود. به عنوان مثال ، بیشتر ویرایشگران متن قبل از آماده شدن برای انجام هر کار مفید ، کل پرونده را در حافظه بارگذاری می کنند. علاوه بر این ، انجام یک کار ساده جستجو و جایگزینی در بیش از چند فایل ، به سرعت می تواند خسته کننده و مستعد خطا شود.
با این حال ، ویرایشگرهای متن وجود دارند که پرونده ها را به صورت یکجا و یا فقط تعداد معدودی از آنها را پردازش می کنند ، و خروجی را در پرواز تولید می کنند ، بلافاصله برای خط بعدی آماده می شوند ، و هرگونه منبع در محل را آزاد می کنند. یکی از شناخته شده ترین این برنامه ها sed (ویرایشگر جریان) است. در هر سیستم یونیکس (از جمله ، البته هر لینوکس ، و به ویژه اوبونتو) موجود است و نسخه هایی برای ویندوز نیز وجود دارد (مانند این سیستم ).
نحو زبان sed بسیار کمی رمزنگار است ، اما این باعث می شود که مردم از درک شکسپیر استفاده کنند ، مأیوس نیست؟ نه تنها این ، منطق این فیلم نامه خاص کمی متناقض است. نام رمز و رمز و قاطع و زیبا برای یک قهوه خانه در منطقه بوهمیان.
ما تمام بخش های پرونده TMX را که شامل هر یک از کلمات قانون ، قوانین ، قانون یا قوانین است چاپ خواهیم کرد. الگوی استفاده خواهد شد به شرح زیر است: [تخم ریزی] AWS \ [^ یک ZA-Z] (من در مورد الگوها و عبارات منظم نوشته شده است؟ در اینجا ). در انگلیسی ساده به این معنی است: "مورد" کوچک یا بزرگ "" و "پس از" "اختیاری" و "اختیاری" که پس از آن هر نامه ای وجود ندارد ". به عنوان مثال آخرین محدودیت برای رد کردن دعوی است .
پس بزن که بریم:
# کار فقط در واحدهای ترجمه
/ <tu [>] / {
# اگر الگوی در خط اول است ، به برچسب یافت شده بروید
/ [Ll] aws \؟ [^ a-zA-Z] / b found
: next
# اگر به انتهای واحد ترجمه برسیم ، تمام شدیم ،
# و الگوی یافت نشد
/ <\ / tu> / b نیست
# ما هنوز در انتهای واحد ترجمه قرار نداریم
/ [Ll] aws \؟ [^ a-zA-Z] /! {N؛ b next
# به دلیل! ، اگر ما اینجا هستیم ، هنوز الگویی پیدا نشده است
: یافت شد
# بقیه سطرها را تا انتهای واحد ترجمه جمع آوری کنید
/ <\ / tu> /! {N؛ b found
اگر دستورالعمل را پیدا کردیم # دستور اجرا می شود
خروجی
p b : غیرفعال
در صورت عدم یافتن این الگوی ، # فرمان را اجرا می کنیم
w not_found
: derket
}
توضیح سریع در مورد دستورات استفاده شده:
b به دنبال آن برچسب می خورد
/ XYZ / فرمان را اجرا کنید که فقط در صورت مطابقت XYZ دنبال می کند
! معنی آزمون قبلی را معکوس می کند
N خط بعدی را خوانده و آن را به محتوای فعلی اضافه می کند
p فضای الگوی را چاپ می کند
w فضای الگوی را در یک پرونده می نویسد
در صورت ذخیره این اسکریپت find_in_tmx.sed، می توان از خط فرمان یک سیستم یونیکس مانند این استفاده کرد:sed find_in_tmx.sed big_memory.tmx
این فیلمنامه فقط یک نمونه است. اما مکانیزم اساسی می توان به موقعیت های مختلف اقتباس شده است، برای بخش یافته به عنوان مثال که نمی حاوی الگوهای خاص، و غیره
---
نظرات ارسال شده