有没有办法在没有输出缓冲的情况下运行shell命令?
例如,hexdump file | ./my_script只会将缓冲块中的hexdump输入传递给my_script,而不是逐行传递.
实际上我想知道如何使任何命令无缓冲的一般解决方案?
我正在尝试将命令输出抛出到文件加控制台.这是因为我想保留文件中的输出记录.我正在做跟随,它附加到文件但不在ls终端上打印输出.
$ls 2>&1 > /tmp/ls.txt
Run Code Online (Sandbox Code Playgroud) 我需要将命令的输出重定向到两个文件,说file1和file2 file1是一个新文件,file2已经是现有文件,我需要附加我尝试过的输出
这没有给出预期的结果:
command > file1 > file2
Run Code Online (Sandbox Code Playgroud) 我有两个以这种方式使用的程序:
$ c_program | python_program.py
Run Code Online (Sandbox Code Playgroud)
c_program使用printf()和python_program.py读取打印的东西sys.stdin.readline()
我想立即打印python_program.py进程c_program的输出,以便它可以打印自己的当前输出.不幸的是,python_program.py仅在c_program结束后获取其输入.
我怎么解决这个问题?
我正在运行一个名为upgrade.sh的脚本
和upgrade.sh调用一个名为roll.sh的脚本
roll.sh >> logfile.text
Run Code Online (Sandbox Code Playgroud)
但roll.sh有一些问题和提示,重定向阻止这些输出击中屏幕.我无法编辑roll.sh.
我也试过`results = $(roll.sh)
即使这样,输出也没有进入屏幕
我是Python的新手。我需要从字典查询项目并将结果保存到文本文件。这是我所拥有的:
import json
import exec.fullog as e
input = e.getdata() #input now is a dict() which has items, keys and values.
#Query
print 'Data collected on:', input['header']['timestamp'].date()
print '\n CLASS 1 INFO\n'
for item in input['Demographics']:
if item['name'] in ['Carly', 'Jane']:
print item['name'], 'Height:', item['ht'], 'Age:', item['years']
for item in input['Activity']:
if item['name'] in ['Cycle', 'Run', 'Swim']:
print item['name'], 'Athlete:', item['athl_name'], 'Age:', item['years']
Run Code Online (Sandbox Code Playgroud)
如何将打印的输出保存到文本文件?
我见过像这样的东西
command > out.txt
有时附上
2&1
Run Code Online (Sandbox Code Playgroud)
但这些似乎转移了所有输出或所有错误流,而不是显示和复制输出到文件,这是我正在尝试做的.我有什么选择吗?