29 lines
691 B
C++
29 lines
691 B
C++
#pragma once
|
|
|
|
#include "cmd/cmd_base.hpp"
|
|
|
|
namespace fsh {
|
|
|
|
class CmdHead : public Command {
|
|
|
|
protected:
|
|
virtual void register_flags() override {
|
|
ArgFactory& factory = get_factory();
|
|
factory.add_rule<int>((std::string) "-n", true);
|
|
factory.add_input_rule();
|
|
}
|
|
|
|
virtual void run(std::istream& in, std::ostream& out, ArgManager& args) override {
|
|
std::string s;
|
|
std::string o;
|
|
|
|
int count = args.get<int>("-n").value();
|
|
while (std::getline(in, s)) {
|
|
if(count-- < 1) break;
|
|
o += s + "\n";
|
|
}
|
|
out << o;
|
|
}
|
|
};
|
|
|
|
} |