나는 한동안 이 질문에 대한 답을 찾고 있었습니다. 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 "$@"' -- {} +