我想使用python函数运行bash命令,如下所示:
os.system
然而,即使“sed”部分工作正常,我没有得到“剪切”命令的结果,它返回退出状态1.我试图在控制台中自己键入它,我得到了预期的结果,所以命令是正确的。有人能看出这个程序有什么问题吗?
Ps:我知道subprocess.call
已被弃用,我也尝试了$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://path_to_my_xml_file',
));
$header = array('Accept-Charset: UTF-8');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$resp = curl_exec($curl);
var_dump ($resp);
curl_close($curl);
,但我得到了完全相同的错误。
答案 0 :(得分:0)
Python默认使用/bin/sh
来执行命令。在那里运行第二个命令会产生以下错误消息:
cut:分隔符必须是单个字符 尝试'cut --help'获取更多信息。
在cut
中,默认分隔符为\t
,因此请尝试运行以下命令:
cut -f2,4,8,46,63,65,66 raw_extract_{}.tsv > extract_{}_reduced.tsv
或者,您可以使用命令
/bin/bash -c "cut -d$'\t' -f2,4,8,46,63,65,66 raw_extract_{}.tsv > extract_{}_reduced.tsv"