gpt4 book ai didi

python - 让 AWK 命令在 Python 脚本中工作

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:59 25 4
gpt4 key购买 nike

我的 Python 脚本中有这个命令 -

client.connect(host, username=username, pkey=mykey)
stdin, stdout, stderr = client.exec_command('sudo grep -i "key_prefix" /path/to/my/file.txt | awk -F "'" '{ print $4}'')

但是,我收到以下错误 -语法错误:扫描字符串文字时 EOL

如何让 python 脚本正确地剪切字符串?

这是我正在执行 awk 的字符串 -

$conf['key_prefix'] = 'my_string';。我想要的值是 my_string 值。在 bash 控制台内部,它工作正常,但 python 脚本抛出错误。

如果我将所有内容添加到列表中,则列表索引 0 处的值是这样的 -

uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
$conf['key_prefix'] = 'my_string';
$conf['key_prefix'] = 'my_string';

有什么想法可以让 awk 命令正常工作吗?似乎是解决这些问题的最简单的方法。

谢谢。

最佳答案

相当肯定您想在此处使用一些三引号。

stdin, stdout, stderr = client.exec_command('sudo grep -i "key_prefix" /path/to/my/file.txt | awk -F "'" '{ print $4}'')

应该变成

stdin, stdout, stderr = client.exec_command("""sudo grep -i "key_prefix" /path/to/my/file.txt | awk -F "'" '{ print $4}'""")

问题(根据我所看到的)是您的第一个 '-F" 之后匹配,然后您有一个 " 之后开始一个新字符串。可能是错误的,但尝试三引号,看看是否有帮助。

关于python - 让 AWK 命令在 Python 脚本中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40247196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com