file1
, file2
, file3
, file4
이라는 5개의 파일이 있습니다 file5
. 다음 명령을 실행하려고 합니다 echo "contents" >> file{1,2,3,4,5}
. 이 명령을 실행하면 다음 오류가 발생합니다 -bash: file{1,2,3,4,5}: ambiguous redirect
. 내 목표는 하나의 명령으로 파일을 복사하기 위해 일부 텍스트를 에코하는 것입니다. 이 목표를 어떻게 달성할 수 있나요? 미리 감사드립니다.
답변1
여러 파일로 리디렉션할 수 없습니다. 대신 질문에 추가 리디렉션 연산자를 사용하므로 tee -a
( "추가")를 사용하십시오 .-a
>>
echo "contents" | tee -a file{1,2,3,4,5}
또 다른 옵션은 bash 대신 zsh를 사용하는 것입니다. 이는 여러 파일로 리디렉션할 수 있습니다.
[birdsnest ~]% echo foo > /tmp/{foo,bar}
[birdsnest ~]% cat /tmp/foo
foo
[birdsnest ~]% cat /tmp/bar
foo