1bash_command(Command, Output) :-
2 process_create(path(bash),
3 ['-c', Command],
4 [stdout(pipe(Out))]),
5 read_string(Out, _, Output),
6 close(Out).
10grep(File, Pattern, Lines) :-
11 process_create(path(grep), [ Pattern, file(File) ],
12 [ stdout(pipe(Out))
13 ]),
14 read_lines(Out, Lines).
15
16read_lines(Out, Lines) :-
17 read_line_to_codes(Out, Line1),
18 read_lines(Line1, Out, Lines).
19
20read_lines(end_of_file, _, []) :- !.
21read_lines(Codes, Out, [Line|Lines]) :-
22 atom_codes(Line, Codes),
23 read_line_to_codes(Out, Line2),
24 read_lines(Line2, Out, Lines)