정렬된 파일을 별도의 디렉토리에 저장하려면 어떻게 해야 합니까?

정렬된 파일을 별도의 디렉토리에 저장하려면 어떻게 해야 합니까?

아래와 같이 2181개의 파일이 포함된 baypass라는 폴더가 있습니다(예: 몇 개의 파일).

anacovis2_210_summary_betai_reg.out_new
anacovis2_2110_summary_betai_reg.out_new
anacovis2_2111_summary_betai_reg.out_new
anacovis2_2112_summary_betai_reg.out_new

모두 정리하고 싶어서 다음을 사용했습니다.

ls -v -1

그것은 나를 위해 정렬 작업을 수행했지만 이러한 정렬된 파일을 디렉터리에 저장하고 싶습니다. 따라서 "ls -v -1"을 입력하면 파일이 정렬되지만 pwd나 ls 또는 다른 명령을 입력하면 다시 정렬이 해제됩니다. 그러면 정렬된 파일을 어떻게 저장하나요? 병합할 수 있도록 정렬하고 저장하고 싶습니다. 파일의 순서는 매우 중요합니다.

답변1

목표가 이러한 파일을 번호순으로 병합하는 것이라면 이것이 궁극적으로 필요한 명령입니다. 사용쉘 지원 확장.

cat anacovis2_{1..2181}_summary_betai_reg.out_new >> one_file

답변2

에서는 zsh다음을 수행합니다.

files=(*.out_new(n))

(n)glob을 숫자로 정렬하는 glob 한정자입니다(모든 glob에 대한 전역 토글도 사용할 수 있음 set -o numericglobsort).

그런 다음:

do-something-with $files

bash, ksh93또는 mksh(또는 ) 에서는 GNU 목록 파일을 배열에 zsh저장할 수 있습니다 .ls

eval "list=($(ls -v --quoting-style=shell-always))"
do-something-with "${files[@]}"

답변3

별칭을 사용할 수 있습니다.

alias ls='ls -1v'

관련 정보