나는 그것을 사용하고 있다
find . -type f \( -name "*.js" ! -name "*-min*" \) -exec cat {} \; > all.js
파일을 함께 병합합니다. 불행히도 각 파일 뒤에 새 줄이 표시되지는 않지만 파일이 끝나고 새 파일이 같은 줄에서 시작됩니다.
각 파일 사이에 개행 문자를 추가하는 방법은 무엇입니까?
답변1
각 파일 뒤에 체계적으로 줄 바꿈을 추가하려면 다음을 수행하십시오.
find . -type f \( -name "*.js" ! -name "*-min*" \) \
-exec cat {} \; -exec echo \; > all.js
또는
find . -type f \( -name "*.js" ! -name "*-min*" \) \
-exec sh -c 'for x; do cat "$x"; echo; done' _ {} + >all.js
줄바꿈으로 끝나지 않는 모든 파일의 끝에 줄바꿈을 추가하려면 다음을 수행하세요.
find . -type f \( -name "*.js" ! -name "*-min*" \) \
-exec awk '1' {} + > all.js
답변2
다음 스크립트는 작업을 수행합니다
find . -type f \( -name "*.js" ! -name "*-min*" \) | while IFS= read -r line
do
cat "$line"
echo
done >all.js
답변3
다음과 같이 할 수도 있습니다.
find source/path -name *.js | xargs cat > all.js