이름이 증분 숫자인 여러 파일을 붙여넣으려면 다음을 수행합니다.
paste {1..8}| column -s $'\t' -t
- 파일 이름이 숫자가 아닌 단어로만 지정되어 있다면 어떻게 될까요?
- 최대 10개의 파일이 있을 수 있는데 어떻게 해야 하나요?
또한 원하는 모든 파일이 포함된 파일 목록이 있습니다.
지금까지 나의 접근 방식은 다음과 같습니다.
mkdir paste
j=0; while read i; do let j+=1; cp $i/ paste/$j; done<list;
cd paste; paste {1..8}| column -s $'\t' -t
이 접근 방식에는 문제가 없습니다. 더 짧은 방법이 있는지 묻고 있습니다.
실제로 내 파일은 위치만 다를 뿐 동일한 이름을 갖습니다 1MUI/PQR/A/sum, 2QHK/PQR/A/sum, 2RKF/PQR/A/sum
. 예를 들어 , 목록 파일은 paste
다음과 같습니다 .paste {list}/PQR/A/sum
1MUI
2QHK
2RKF
...
답변1
bash
4 개로
mapfile -t <list
paste "${MAPFILE[@]}" | column -s $'\t' -t
paste {list}/PQR/A/sum
해당 버전의 경우
mapfile -t <list
paste "${MAPFILE[@]/%//PQR/A/sum}" | column -s $'\t' -t
답변2
모든 파일이 단일 디렉토리에 있으면 다음을 사용하십시오.
paste * | column -s $'\t' -t
모든 파일이 포함된 목록 파일이 있고 각 파일 이름이 공백과 같은 특수 문자 없이 한 줄에 있는 경우 다음을 시도해 볼 수 있습니다.
paste $(printf "%s " $(cat list)) | column -s $'\t' -t
고쳐 쓰다
업데이트된 정보에 따라 다음을 시도해 볼 수 있습니다.
paste */PQR/A/sum | column -s $'\t' -t
상위 디렉터리에 필요하지 않은 파일과 디렉터리가 많이 포함된 경우 모든 디렉터리를 명시적으로 나열해야 합니다.
paste {1MUI,2QHK,2RKF,...}/PQR/A/sum | column -s $'\t' -t