#include #include #include #include using namespace std; string path_to_id(string &s) { string t = ""; for (auto c: s) { if (isalpha(c)) t = t + c; } return t; } int main() { ifstream flist("/tmp/mxclean/filelist"); ifstream keeplist("/tmp/mxclean/files_to_keep"); ofstream rm("/tmp/mxclean/remove.sh"); set keep_set; string s; int keep = 0, remove = 0; while (keeplist >> s) { keep_set.insert(s); } while (flist >> s) { if (keep_set.find(path_to_id(s)) != keep_set.end()) { keep++; } else { remove++; rm << "rm " << s << endl; } } cout << "keep " << keep << " files, remove " << remove << " files." << endl; return 0; }