Печать на терминал во время передачи

Проблема возникает из-за того, что вы перебираете результаты find. См. здесь для получения дополнительной информации. Чтобы доказать это, просто сделайте следующее из папки мультимедиа и посмотрите, как искажаются имена файлов:

for media in $(find -name '*.mkv' -or -name '*.mp4'); do echo "$media"; done

Вы можете заменить свой findшариками, вот так:

for media in "$1"/*.mp4; do stuff; done
for media in "$1"/*.mkv; do stuff; done

Или, чтобы сделать это проще, используя фигурные скобки:

for media in "$1"/*.{mp4,mkv}; do stuff; done

3
13.12.2019, 20:50
2 ответа

Использование тройника:

ping -c 3 stackexchange.com | tee /dev/tty | rev >/tmp/rping
4
27.01.2020, 21:11

Пусть teeпродублирует вывод из pingв rev, используя подстановку процесса (, предполагая, что вы используете оболочку, которая поддерживает эти )и в терминал:

$ ping -c 3 stackexchange.com | tee >(rev >/tmp/rping)
ping: Warning: stackexchange.com has multiple addresses; using 151.101.65.69
PING stackexchange.com (151.101.65.69): 56 data bytes
64 bytes from 151.101.65.69: icmp_seq=0 ttl=52 time=18.887 ms
64 bytes from 151.101.65.69: icmp_seq=1 ttl=52 time=18.514 ms
64 bytes from 151.101.65.69: icmp_seq=2 ttl=52 time=18.508 ms

--- stackexchange.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 18.508/18.636/18.887/0.177 ms

Не будет задержек в выводе вышеуказанного текста из ping.

$ cat /tmp/rping
setyb atad 65 :)96.56.101.151( moc.egnahcxekcats GNIP
sm 788.81=emit 25=ltt 0=qes_pmci :96.56.101.151 morf setyb 46
sm 415.81=emit 25=ltt 1=qes_pmci :96.56.101.151 morf setyb 46
sm 805.81=emit 25=ltt 2=qes_pmci :96.56.101.151 morf setyb 46

--- scitsitats gnip moc.egnahcxekcats ---
ssol tekcap %0.0,deviecer stekcap 3,dettimsnart stekcap 3
sm 771.0/788.81/636.81/805.81 = ved-dts/xam/gva/nim pirt-dnuor
4
27.01.2020, 21:11

Теги

Похожие вопросы