파일을 찾아 재귀적으로 텍스트를 추가합니다.

파일을 찾아 재귀적으로 텍스트를 추가합니다.

나는 한동안 이 질문에 대한 답을 찾고 있었습니다. find를 사용하여 모든 조회수에 텍스트를 추가하는 방법은 무엇입니까? 내 초기 접근 방식은 유사했지만, 클릭할 때마다 반복되는 somecode.txt의 내용으로 채워진
sudo find / -type f -name "*.py" -exec cat somecode.txt >> {} \;
파일 이름을 만드는 것이 전부였습니다 . {}그런 다음 명령을 실행해 보았습니다.
sudo find / -type f -name "*.py" -exec echo somecode.txt >> {} \;
동일한 효과가 있었지만 이번에는 {}한 번 또는 클릭할 때마다 반복되는 문자열로 채워졌습니다. somecode.txt이를 달성할 수 있는 다른 방법이 있습니까? 아니면 기본적인 것이 누락된 것입니까?
편집하다:
내 의도된 목표는 somecode.txt시스템의 모든 Python 파일에 .

답변1

-exec매개변수당 하나의 셸만 있습니다.

find . -type f -name "*.py" -exec sh -c 'cat somecode.txt >> "$1"' -- {} \;

sudo( 아무 것도 사용하지 않거나 다른 곳에서 시작하는 /것이 좋습니다 ).

보다 효율적인 작업을 원할 경우 다음을 시도해 볼 수 있습니다.

find . -type f -name "*.py" -exec sh -c '< somecode.txt tee -a "$@"' -- {} +

관련 정보