콘솔에서 2 개의 빈 파일을 만들고 동시에 읽으려고했습니다.
$ echo -n '' | tee f1 > f2
$ cat f1 f2
$ cat <(tail -f f1) <(tail -f ./f2)
다른 콘솔에서 테스트를 실행했습니다.
$ echo 'tee test' | tee -a f1 >> f2
$ echo 'f1 test' >> f1
$ echo 'f2 test' >> f2
$ cat f1 f2
tee test
f1 test
tee test
f2 test
그러나 cat
첫 번째 콘솔에서는 첫 번째 fd
.
$ cat <(tail -F ./f1) <(tail -F ./f2)
tee test
f1 test
왜? 그런 다음 두 개 이상의 파일 설명자에서 동시에 읽는 방법은 무엇입니까?
cat
인수를 순차적으로 처리합니다. tail -f f1
계속 실행되므로 cat
에서 입력을 계속 기다리며 <(tail -f f1)
처리로 이동하지 않습니다 <(tail -f f2)
.
tail -f f2
첫 번째를 죽이면 출력을 볼 수 있습니다 tail
.
여러 파일을 동시에 추적하는 더 좋은 도구는 tail
그 자체입니다 (적어도 GNU tail
).
tail -f f1 f2
파일 헤더를 보지 않으려면 다음을 사용하십시오 -q
.
tail -qf f1 f2
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다