Source File: sort.cpp
#include <fmt/core.h>
#include <iostream>
#include <unistd.h>
#include <fstream>
#include <vector>
#include <algorithm>
void sort_file(std::istream& in) {
std::string line;
std::vector<std::string> lines;
while(in) {
getline(in, line);
lines.emplace_back(line);
}
std::sort(lines.begin(), lines.end());
for(auto& line : lines) {
fmt::println("{}", line);
}
}
int main(int argc, char* argv[]) {
if(argc > 1) {
for(int i = 1; i < argc; i++) {
std::ifstream in_file{argv[i]};
sort_file(in_file);
}
} else {
sort_file(std::cin);
}
}