다음 형식의 이름을 가진 파일이 많이 있습니다.
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
접미사 부분의 알파벳 또는 영숫자 순서로 파일을 연결합니다.
cut
username_pattern이 일정한 형식(예: 고정 길이이거나 특수 문자로 구분된 형식)이 아닌 한, 또는를 사용하여 파일 이름에서 username_pattern을 추출 awk
하고 루프를 통해 실행하는 것이 쉽습니다 for
. 정확한 패턴을 모르면 정확한 움직임을 추측하기 어렵습니다.