• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

تغییر در فایل متنی

kambiz_g

Registered User
تاریخ عضویت
7 مارس 2007
نوشته‌ها
1,544
لایک‌ها
1,522
سلام
من یک فایل متنی دارم که محتویاتش این هست
INSERT INTO `English` (`English_Word`, `Word_ID`) VALUES ('A', 0);
INSERT INTO `English` (`English_Word`, `Word_ID`) VALUES ('A Bomb ', 1);
INSERT INTO `English` (`English_Word`, `Word_ID`) VALUES ('A La Carte ', 2);
INSERT INTO `Farsi` (`English_ID`, `Farsi_Word`) VALUES (0, 'حرف* اول* الفباي* انگليسي*، حرف* اضافه* مثبت*. ');
INSERT INTO `Farsi` (`English_ID`, `Farsi_Word`) VALUES (1, 'بمب* اتمي*. ');
INSERT INTO `Farsi` (`English_ID`, `Farsi_Word`) VALUES (2, '(در مورد كاغذ) جداجدا سفارش* داده* شده*. ');, 'هارون* برادر موسي*. ')
من میخوام که محتویات این فایل به این تبدیل بشه به

(29, 'A', 'حرف* اول* الفباي* انگليسي*، حرف* اضافه* مثبت*.', '', '<p>??? ????</p>', '', 1, 3, 0, 32, '2006-10-11 03:11:38', 62,);
(30, 'A Bomb', 'بمب اتمی', '', '<p>??? ????</p>', '', 1, 3, 0, 32, '2006-10-11 03:11:38', 62,);
(31, 'A La Carte', '(در مورد كاغذ) جداجدا سفارش* داده* شده*.', '', '<p>??? ????</p>', '', 1, 3, 0, 32, '2006-10-11 03:11:38', 62,);
اگر فتوشاپ کار کرده باشین یه قسمتی هست که میشه یه سری کارها رو ضبط کرد و به یکباره روی بقیه انجام داد
میخواستم ببینم نرم افزاری هست که بشه باهاش چنین کاری روی یه فایل متنی انجام داد
این فایلی که من گذاشتم برای نمونه است
فایل اصلی نزدیک به صد هزار خط هستش
یعنی من میخوام بتونم در ابتدا یک خط رو تغییر بدم و بعد با زدن یک دکمه بقیه هم به این شکل در بیان
 

kambiz_g

Registered User
تاریخ عضویت
7 مارس 2007
نوشته‌ها
1,544
لایک‌ها
1,522
من دارم یه دیکشنری درست میکنم
فایل اول مربوط به دیتابیس یک دیکشنری هستش که از همین سایت دانلود کردم و نزدیک به صد هزار خط هست
و فایل دوم مربوط به بکاپ از سیستم مدیرت محتوا جوملا هست

من میخوام دیکشنری آنلاین خودم رو با جوملا طراحی کنم و برای همین کار از جوملا بکاپ گرفتم که فایل دوم بخشی از اون هست
به طور واضح تر من میخوام فایل اول رو در فایل دوم ادغام کنم ولی چون نزدیک به صدهزار خط هست میخوام اینکار یکباره انجام بشه
ممنون میشم اگر کمک کنید
 

webdev

Registered User
تاریخ عضویت
21 آگوست 2006
نوشته‌ها
148
لایک‌ها
3
فایل متنی شما باید یک فایل sql. باشه و اگر اشتباه نکنم شما می خواید Syntax دستورات SQL رو حذف و فقط value ها رو داشته باشید. اگر اینطور هست یک ویرایشگر خوب مثل ConTEXT نصب کنید و فایل sql. تون رو توش باز کنید. بعد CTRL+H رو بزنید و همه "INSERT INTO `Farsi` (`English_ID`, `Farsi_Word`) VALUES" رو با space به راحتی replace کنید.

سئوالتون کلی و کمی نامفهوم بود، اگر چیز دیگه ای مورد نظر هست بگید تا به جواب برسیم.
 

webdev

Registered User
تاریخ عضویت
21 آگوست 2006
نوشته‌ها
148
لایک‌ها
3
من دارم یه دیکشنری درست میکنم
فایل اول مربوط به دیتابیس یک دیکشنری هستش که از همین سایت دانلود کردم و نزدیک به صد هزار خط هست
و فایل دوم مربوط به بکاپ از سیستم مدیرت محتوا جوملا هست

من میخوام دیکشنری آنلاین خودم رو با جوملا طراحی کنم و برای همین کار از جوملا بکاپ گرفتم که فایل دوم بخشی از اون هست
به طور واضح تر من میخوام فایل اول رو در فایل دوم ادغام کنم ولی چون نزدیک به صدهزار خط هست میخوام اینکار یکباره انجام بشه
ممنون میشم اگر کمک کنید

تو PHPMyAdmin یک دیتا بیس ایجاد کن و فایل دیکشنری رو توش Import کن. بعد ساختار جدول دیکشنری رو تصحیح کن طوری که منطبق بر جدولی باشه که از جولا بک آپ گرفتی.
بعد از این کافیه جدول تصحیح شده دیکشنری رو export کنی و اون رو در دیتابیس جوملا استفاده کنی.

چون حجم جدول زیاده احتمالاً برای import و export با PHPMyAdmin مشکل به وجود بیاد. اگر دیدی کار با PHPMyAdmin درست پیش نمیره از دستورات خط فرمانی MySQL استفاده کن.
 

kambiz_g

Registered User
تاریخ عضویت
7 مارس 2007
نوشته‌ها
1,544
لایک‌ها
1,522
من این برنامه رو دانلود کردم
خیلی برنامه خوبیه و سرعت بالایی داره
ولی متاسفانه من هر کاری کردم نتونستم چیزی که میخوام رو ازش در بیارم
درسته فایل اول sql هست
که گفتم مقادیرش نزدیک به صد هزار خط میشه
کد:
INSERT INTO `English` (`English_Word`, `Word_ID`) VALUES ('A', 0);
INSERT INTO `English` (`English_Word`, `Word_ID`) VALUES ('A Bomb                          ', 1);
INSERT INTO `Farsi` (`English_ID`, `Farsi_Word`) VALUES (0, 'حرف‌ اول‌ الفباي‌ انگليسي‌، حرف‌ اضافه‌ مثبت‌. ');
INSERT INTO `Farsi` (`English_ID`, `Farsi_Word`) VALUES (1, 'بمب‌ اتمي‌. ');

مشخصه که کد بالا مربوط به دیتابیس یک دیکشنری است
a bomb میشه بمب اتمی

این کد بالا الان خطهاش از هم جداست یعنی a bomb در یک خط قرار داره و بمب اتمی یک خط
من میخوام مه این به این شکل بشه

(29, 'A Bomb', 'بمب اتمی');

یعنی در کنار هم باشه
و چون این دیکشنری هست و نزدیک به صد هزار خط میشه
و هر کدوم از لغات با هم فرق میکنه
و تک تک ویرایش کردن اون هم نزدیک به چند ماه وقت میگیره
میخواستم بدونم روشی هست که بشه اینارو یکباره در کناره هم قرار داد؟
 

kambiz_g

Registered User
تاریخ عضویت
7 مارس 2007
نوشته‌ها
1,544
لایک‌ها
1,522
مرسی
اگر یکم در این مورد بیشتر توضیح یدین
واقعا ممنون میشم
 

webdev

Registered User
تاریخ عضویت
21 آگوست 2006
نوشته‌ها
148
لایک‌ها
3
از چهار تا رکوردی که گذاشتی اینطور برمیاد که این دیکشنری یک بانک رابطه ای با کلید اصلی Word_ID در جدول English و کلید خارجی English_ID در جدول Farsi هست. اگر به ازای هر یک Word_ID فقط یک English_ID وجود داشته باشه می تونی بدون مشکل دو تا جدول رو در هم ادغام کنی بطوری که فیلد Farsi_Word به جدول English اضافه بشه. قبلاً یکبار اینکار رو کردم منتها یادم نیست چطور. چیزی که الان به ذهنم میرسه اینه که با استفاده از PHPMyAdmin یک فیلد به نام Farsi_Word در جدول English ایجاد کنی و Query زیر رو امتحان کنی:

کد:
UPDATE English SET English.Farsi_Word=Farsi.Farsi_Word WHERE English.Word_ID=Farsi.English_ID;

اینطوری باید مقادیر Farsi_Word از جدول Farsi در رکورد مربوط به خودش در جدول English کپی بشه. حالا این رو امتحان بکن امیدوارم که جواب بگیری. اگر مشکلی هم بود با توضیحات بنویس تا رفعش کنیم.
 
بالا