質問:
Pythonでsedをうまく使用するにはどうすればよいですか? コンマ区切りのホストのリストを取得するには、リモート サーバーでこのコマンドを実行する必要があります。bashから実行すると、host1、host2、host3などの必要なものが得られます
ここに私が持っているものがあります:
process = subprocess.Popen(["ssh $USER@mychefserver knife search node "chef_environment:*" | grep -i "node name" | egrep -i "stuff|ruff" | uniq -u | sort -n | cut -d ":" -f 2 | sed -e 's/^[ \t]*//' | tr '\n' ', '
"], shell=False, stdout=PIPE)
\n、\t などをエスケープする必要があることはわかっていますが、残りの部分で問題が発生しています。Python スクリプトから実行しようとすると、豊富なエスケープを試みたにもかかわらず、無効な構文のエラーが発生します。