def os_pwd(echo_out=True): """ Perform an simple pwd shell command and dump output to screen. Args: echo_out (bool): echo output to console [True] Returns: (str) Output from pwd command """ cmd = "pwd" rtn = OSCommand(cmd).run() if echo_out: log("{0}".format(rtn.output())) return rtn.output()
def os_cat(filepath, echo_out=True): """ Perform an simple cat shell command and dump output to screen. Args: filepath (str): Path to file to cat Returns: (str) Output from cat command """ check_param_type("filepath", filepath, str) cmd = "cat {0}".format(filepath) rtn = OSCommand(cmd).run() if echo_out: log("{0}".format(rtn.output())) return rtn.output()
def os_ls(directory=".", echo_out=True): """ Perform an simple ls -lia shell command and dump output to screen. Args: directory (str): Directory to run in [.] echo_out (bool): echo output to console [True] Returns: (str) Output from ls command """ check_param_type("directory", directory, str) cmd = "ls -lia {0}".format(directory) rtn = OSCommand(cmd).run() if echo_out: log("{0}".format(rtn.output())) return rtn.output()
def os_simple_command(os_cmd, run_dir=None): """ Perform an simple os command and return a tuple of the (rtncode, rtnoutput). NOTE: Simple command cannot have pipes or redirects Args: os_cmd (str): Command to run run_dir (str): Directory where to run the command; if None (defaut) current working directory is used. Returns: (tuple) Returns a tuple of the (rtncode, rtnoutput) of types (int, str) """ check_param_type("os_cmd", os_cmd, str) if run_dir is not None: check_param_type("run_dir", run_dir, str) rtn = OSCommand(os_cmd, set_cwd=run_dir).run() rtn_data = (rtn.result(), rtn.output()) return rtn_data
def os_wc(in_file, fields_index_list=[]): """ Run a wc (equivalent) command on a file and then extract specific fields of the result as a string. Args: in_file (str): Input string to parse fields_index_list (list of ints): A list of ints and in the order of fields to be returned Returns: (str) Space separated string of extracted fields. """ check_param_type("in_file", in_file, str) check_param_type("fields_index_list", fields_index_list, list) for index, field_index in enumerate(fields_index_list): check_param_type("field_index - {0}".format(index), field_index, int) cmd = "wc {0}".format(in_file) rtn = OSCommand(cmd).run() wc_out = rtn.output() if fields_index_list: wc_out = os_awk_print(wc_out, fields_index_list) return wc_out