파일 이름의 첫 부분을 사용하여 파일을 연결하는 방법

파일 이름의 첫 부분을 사용하여 파일을 연결하는 방법

다음 형식의 이름을 가진 파일이 많이 있습니다.

username_pattern_suffix.ext  

여기서 "패턴"은 고정되어 있지만 각각 여러 파일을 포함하는 사용자 이름이 많습니다(예: "접미사" 값). 다음과 같이 각 사용자의 파일을 하나의 파일로 연결하고 싶습니다.

username.ext

궁극적으로 사용자 이름당 하나의 파일이 있습니다. 각 사용자 이름은 두 개의 밑줄을 포함 _하고 숫자로 끝나지만 길이는 가변적입니다.

답변1

가지고 있는 파일 수에 따라 다음을 수행할 수 있습니다.

for pat in *_pattern_*; do
    cat -- "$pat" >> "${pat%%_pattern_*}".ext
done

그러면 이 디렉터리에 포함된 모든 파일을 반복 _pattern_하고 cat각 파일의 내용을 _pattern_문자열에 나타나는 모든 내용이 포함된 파일에 추가한 다음 .ext확장자를 추가합니다.

파일이 너무 많으면 작동하지 않습니다.

답변2

cat username_pattern_* > username.ext

접미사 부분의 알파벳 또는 영숫자 순서로 파일을 연결합니다.

cutusername_pattern이 일정한 형식(예: 고정 길이이거나 특수 문자로 구분된 형식)이 아닌 한, 또는를 사용하여 파일 이름에서 username_pattern을 추출 awk하고 루프를 통해 실행하는 것이 쉽습니다 for. 정확한 패턴을 모르면 정확한 움직임을 추측하기 어렵습니다.

관련 정보