출력을 두 개의 다른 파일로 리디렉션합니다. 하나는 명령이 실행될 때 새 출력을 가져야 하고 다른 하나는 새 콘텐츠와 이전 콘텐츠를 모두 가져야 합니다.

출력을 두 개의 다른 파일로 리디렉션합니다. 하나는 명령이 실행될 때 새 출력을 가져야 하고 다른 하나는 새 콘텐츠와 이전 콘텐츠를 모두 가져야 합니다.

출력을 두 개의 다른 파일로 리디렉션합니다. 명령이 실행될 때 한 파일에는 새 출력이 있어야 하고 다른 파일에는 새 콘텐츠와 이전 콘텐츠가 모두 있어야 합니다.

예를 들어:

 openstack port create --network testnetwork1 test1-subport110 --disable-port-security --no-security-group 

출력을 두 개의 다른 파일로 리디렉션해야 합니다. 파일 A.txt 및 B.txt. openstack port create 명령이 실행될 때마다 새 출력은 A.txt에 있어야 하고 이전 출력과 새 출력은 B.txt에 있어야 합니다.

나는 아래와 같은 것을 원한다

cat A.txt
port2UUID

cat B.txt
port1.UUID
port2.UUID

도와주세요. 미리 감사드립니다

답변1

cmd | tee A.txt >> B.txt

또는

cmd | tee -a B.txt > A.txt

tee(배관공의 T를 생각해 보세요) 합계 cmd로 출력 됩니다 .A.txt추가의모드가 입력됩니다 B.txt.

셸을 사용하면 zsh다음 작업도 수행할 수 있습니다.

cmd > A.txt >> B.txt

(동일한 파일 설명자를 여러 번 리디렉션할 때 'ing 자체는 어디에 있습니까? zsh)T


cmdT 의 유입에 stderr을 포함하려면 다음을 사용하십시오.

cmd 2>&1 | tee A.txt >> B.txt

또는 zsh:

cmd > A.txt >> B.txt 2>&1

또는:

cmd >& A.txt >>& B.txt

관련 정보