我想将 xinput-calibrator 输出从 Qt 应用程序复制到 temp.txt 文件。
我正在从应用程序启动 QProcess
使用该命令xinput_calibrator | tee log.txt
,我可以复制完整的文本,但我只需将输出的几行保存到文件中
下面是输出xinput_calibrator
Warning: multiple calibratable devices found, calibrating last one (VirtualBox mouse integration)
use --device to select another one.
Calibrating EVDEV driver for "VirtualBox mouse integration" id=12
current calibration values (from XInput): min_x=4, max_x=65512 and min_y=-52, max_y=65816
Doing dynamic recalibration:
Setting new calibration data: 66, 65483, -125, 65584
--> Making the calibration permanent <--
copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf'
Section "InputClass"
Identifier "calibration"
MatchProduct "VirtualBox mouse integration"
Option "Calibration" "66 65483 -125 65584"
EndSection
只是我需要将最后 5 行复制到 temp.txt 文件中
答案1
正如 @skwllsp 提到的,你的问题可以通过xinput_calibrator | tail -n 5 | tee log.txt
.但是,我可以问一下你为什么要用来tee
实现这个目的吗?
该
tee
实用程序将标准输入复制到标准输出,从而在零个或多个文件中进行复制。输出是无缓冲的。
的目的tee
是将输出写入文件和使管道继续执行下一个命令。
如果您只想将输出发送到文件,可以使用>
或来执行此操作>>
。
xinput_calibrator | tail -n 5 > log.txt
log.txt
如果不存在,则会创建,或者将其截断为空如果它已经存在,则将输出写入文件。
xinput_calibrator | tail -n 5 >> log.txt
这将附加到文件中,以便以前的数据不会被删除。 (如果该文件不存在,它将创建该文件。)
进一步阅读: