아래와 같이 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'