![Bash는 파일 목록을 읽고 파일의 내용을 하나의 파일로 출력합니다.](https://rvso.com/image/164731/Bash%EB%8A%94%20%ED%8C%8C%EC%9D%BC%20%EB%AA%A9%EB%A1%9D%EC%9D%84%20%EC%9D%BD%EA%B3%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%82%B4%EC%9A%A9%EC%9D%84%20%ED%95%98%EB%82%98%EC%9D%98%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%B6%9C%EB%A0%A5%ED%95%A9%EB%8B%88%EB%8B%A4..png)
명령을 사용하여 find
특정 확장자를 가진 모든 프로그램 파일을 검색하고 내용을 큰 "codebase.txt"에 추가하면 문제가 없습니다. 문제는 동일한 프로그램의 버전이 너무 많다는 것입니다(그리고 각 프로그램의 고유한 복사본은 하나만 필요합니다). find 명령에서 목록을 구문 분석하여 .v1, .v2를 제거했습니다. .v3 등을 포함하므로 1,000개 이상에서 약 300개(매우 고유한 파일 이름)로 구성된 멋지고 깔끔한 목록을 갖게 되었습니다. 파일 목록을 읽는 다양한 cat 명령을 사용하여 "sourcecode.txt"로 출력하면 다음과 같은 오류가 발생하며 스위치 "invalid use of 'r'"
도 사용하지 않았습니다 r
.
Redhat Enterprise Server 7의 bash에서는 이것이 쉽다는 것을 알고 있지만 시도한 모든 것이 실패했습니다.
이것이 내가 찾고 있는 것이라고 생각하는데 입력이 인식되지 않는다는 오류가 반환됩니다.
#!/bin/bash
input="filelist.txt"
while IFS= read -r line
do
echo "$line". #append to codebase.txt???? - but how????
done < "$input"