cat 명령을 사용하여 파일 내용을 디렉터리의 모든 파일에 (재귀적으로) 복사합니다.

cat 명령을 사용하여 파일 내용을 디렉터리의 모든 파일에 (재귀적으로) 복사합니다.

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 {} +

여기로추가의데이터를 >>대신 사용하세요 >.

안전한 디렉토리에서 실행하세요. 홈 디렉토리에서 이것을 실행하면 중단됩니다.모두당신의 파일. 이를 복구하려면 최근 백업에서 복원해야 합니다. 명령의 기능이나 용도를 알지 못한 채 인터넷에서 복사하여 붙여넣은 명령을 실행하지 마십시오.

관련된:

관련 정보