여러 디렉터리의 여러 *.txt 파일을 동일한 디렉터리로 복사하고 새 파일의 이름을 바꾸려고 합니다.

여러 디렉터리의 여러 *.txt 파일을 동일한 디렉터리로 복사하고 새 파일의 이름을 바꾸려고 합니다.

수백 개의 디렉토리에 최소 2-3개의 *.txt 파일이 있습니다. 필요한 것은 다음과 같습니다. 1. 각 디렉터리의 *.txt를 동일한 디렉터리에 복사하고 파일 이름을 *_name.txt로 바꿉니다. (*는 .txt의 원래 이름이어야 하며 모든 문자열은 "name"이어야 합니다. 디렉토리는 모두 동일합니다. pax를 사용하여 이 작업을 수행할 수 있습니까?

답변1

이는 을 사용하지 않지만 pax달성해야 하는 작업을 수행하는 매우 간단한 방법입니다.

IFS="\n"
for file in *.txt; do
    cp -- "$file" "${file%.txt}_name.txt"
done

이 구성은 값의 끝 부분을 제거합니다 ${var%suffix}. 파일 확장자를 제거하는 데 사용됩니다. suffix$var

관련 정보