cat 명령을 사용하여 파일 내용을 디렉토리 아래의 모든 파일(재귀적으로 - 모든 파일을 의미함)에 어떻게 복사할 수 있습니까?
답변1
전체 디렉토리 계층 구조의 모든 파일을 파일 내용으로 덮어쓰려면 다음을 수행하십시오 data
.
find . -type f ! -path './data' -exec sh -c 'tee "$@" <data >/dev/null' sh {} +
네가 원한다면추가의콘텐츠를 가져온 data
다음 tee -a
맨 위에 사용하세요.
이는 ! -path ./data
우리가 읽고 있는 파일이 수정되는 것을 방지하기 위한 것입니다.
서브셸은 여기에서 여러 경로 이름을 가져와 find
이를 사용하여 해당 파일에 tee
콘텐츠를 배포합니다 .data
cat
대신 사용하십시오 tee
:
find . -type f ! -path './data' -exec sh -c '
for pathname do
cat data >"$pathname"
done' sh {} +
여기로추가의데이터를 >>
대신 사용하세요 >
.
안전한 디렉토리에서 실행하세요. 홈 디렉토리에서 이것을 실행하면 중단됩니다.모두당신의 파일. 이를 복구하려면 최근 백업에서 복원해야 합니다. 명령의 기능이나 용도를 알지 못한 채 인터넷에서 복사하여 붙여넣은 명령을 실행하지 마십시오.
관련된: