انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: مقایسه دو فایل و جایگزینی  (دفعات بازدید: 2084 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
مقایسه دو فایل و جایگزینی
« : 25 خرداد 1386، 01:15 ب‌ظ »
من دو تا فایل تکست دارم به نام a و b
خوب الان می خوام هر خطی از a که تو b نیست رو نشون بده و بعدا جایگزین بکنم. دستور diff کمک کرد ولی نتونستم ازش استفاده کنم

آفلاین ریاضی

  • Sr. Member
  • *
  • ارسال: 409
  • جنسیت : پسر
پاسخ به: مقایسه دو فایل و جایگزینی
« پاسخ #1 : 25 خرداد 1386، 01:23 ب‌ظ »
diff -y

man diff

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
پاسخ به: مقایسه دو فایل و جایگزینی
« پاسخ #2 : 25 خرداد 1386، 01:38 ب‌ظ »
اون پارامتر مواردی که نیست رو ناقص نشون میده
می خوام تمام چیزایی که تو a هست ولی تو b نیست رو نشون بده

آفلاین Afshin_Zavar

  • Full Member
  • *
  • ارسال: 160
  • جنسیت : پسر
پاسخ به: مقایسه دو فایل و جایگزینی
« پاسخ #3 : 26 خرداد 1386، 11:17 ق‌ظ »
خودت با C برنامه بنویس !

با چند تا if , for حل میشه ... !

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
پاسخ به: مقایسه دو فایل و جایگزینی
« پاسخ #4 : 26 خرداد 1386، 02:17 ب‌ظ »
این هم حرفیه ! راست می گیا ;)

آفلاین arman_o71

  • Full Member
  • *
  • ارسال: 183
  • جنسیت : پسر
پاسخ به: مقایسه دو فایل و جایگزینی
« پاسخ #5 : 26 خرداد 1386، 04:54 ب‌ظ »
فکر کنم همچین برنامه‌ای می‌خوای
#include <iostream>
#include <fstream>
#include <vector>
#include <string>

using namespace std;

const char *file1 = "a.txt";
const char *file2 = "b.txt";

int main()
{
ifstream in;
in.open(file1, ios::in);

vector<string> lines;

string s;
while(getline(in, s))
lines.push_back(s);

in.close();

in.open(file2, ios::in);

bool *mark = new bool[lines.size()];
memset(mark, false, lines.size());

while(getline(in, s))
for (int i = 0; i < lines.size(); i++)
if (lines[i] == s)
mark[i] = true;

for (int i = 0; i < lines.size(); i++)
if (!mark[i])
cout << "Line " << i + 1 << ": " << lines[i] << endl;

return 0;
}
One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.

    Robert Firth