从stdin到bash脚本中的python代码的管道
发布时间:2020-12-16 01:48:02 所属栏目:安全 来源:网络整理
导读:我有一个包含 python代码的bash脚本f.该python代码从标准输入读取.我希望能够按如下方式调用我的bash脚本: f input.txt output.txt 在上面的例子中,python代码将从input.txt读取并将写入output.txt. 我不知道该怎么做.我知道如果我只想写一个文件,那么我的b
我有一个包含
python代码的bash脚本f.该python代码从标准输入读取.我希望能够按如下方式调用我的bash脚本:
f input.txt > output.txt 在上面的例子中,python代码将从input.txt读取并将写入output.txt. 我不知道该怎么做.我知道如果我只想写一个文件,那么我的bash脚本就像这样 #!/bin/bash python << EOPYTHON > output.txt #python code goes here EOPYTHON 我尝试将上面代码中的第二行更改为以下内容,但没有运气 python << EOPYTHON $* 我不知道该怎么做才能做到这一点.有什么建议? 编辑 #!/bin/bash python << EOPYTHON import sys import fileinput for i in fileinput.input(): sys.stdout.write(i + 'n') EOPYTHON 我想用以下命令运行我的代码 f input.txt > output.txt 如何更改我的bash脚本以便它使用“input.txt”作为输入流? 解决方法
更新的答案
如果你绝对必须以你提出的方式运行,你可以这样做: #!/bin/bash python -c 'import os for i in range(3): for j in range(3): print(i + j) ' < "$1" 原始答案 将python代码保存在名为script.py的文件中,并将脚本f更改为: #!/bin/bash python script.py < "$1" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |