Я хочу увидеть весь вывод моего скрипта, но сохранить только строки, соответствующие «vlim», в новый файл. Я почти понял это, но не могу заставить его работать так, как я этого хочу. В настоящее время я застрял между использованием:Использование tee и grep для сохранения определенных строк вывода в файл
python gmakemovie.test movie.cfg.test --overwrite | tee >(grep vlim) /output.txt
grep vlim output.txt > vlim.txt
или
python gmakemovie.test movie.cfg.test --overwrite | grep vlim | tee /output.txt
Верхний вариант показывает весь мой вывод, но и копирует все выходные в output.txt. Нижний вариант копирует только «vlim», но не показывает остальную часть моего вывода, поэтому я не могу сказать, где я нахожусь в своем сценарии.
Для ясности, это то, что мой выход выглядит следующим образом:
imported pygad v0.4.32+ga1eacb4.dirty
from parameter file (fragmentary):
snaps: 200 - 200
width: 1000.0 [kpc]
pixel: 500 x 500
x - y: x - y
softening: [ 0.2 0.45 2.52 20. 0.2 0.2 ] [ckpc h_0**-1]
====================================================
get orientation from trace file "filepath":
L: [ 241.01309204 544.96875 -366.44366455] [1e+10 ckpc h_0**-1 Msol h_0**-1 km s**-1]
get first non-zero center from trace files
from snapshot 200:
center: [ 36821.75390625 35120.65625 33730.06640625] [ckpc h_0**-1]
====================================================
run in serial
====================================================
read snapshot "filepath"
z = 2.84615386294
t = 2.33634681236 [Gyr]
get center and orientation from trace file "filepath":
center: [ 36821.75390625 35120.65625 33730.06640625] [ckpc h_0**-1]
R200: 47.4815177362 [kpc]
center snapshot
orientate snapshot
render...
axis 1: stars...
im_lum = np.log10(im_lum)
vlim: [-6.59883562 -4.09629962]
np.ndarray.__idiv__(self, x)
axis 2: gas...
vlim: [-0.46031536 0.83438775]
, и я хочу, чтобы выходной файл выглядеть следующим образом:
vlim: [-6.59883562 -4.09629962]
vlim: [-0.46031536 0.83438775]
Я работаю в терминале на моем Mac
извините, если это очевидно, поэтому я бы установил его так: python gmakemovie movie.cfg.1 --overwrite | tee output_complete.txt | grep vlim output_filtered.txt и grep будет проходить через full.txt, чтобы найти vlim? – Julia
Нет, 'grep' не будет смотреть на полный вывод * из файла *, а из стандартного вывода из' tee'. – Kusalananda
хорошо, я, должно быть, сделал что-то не так, потому что все, что было сделано, было ясно как gmakemove.test и movie.cfg.test, создать два пустых файла (output_.txt) и добавить '--overwrite' и 'grep' в каталог I работал в .. – Julia