저널 항목에는 연도 없이 월과 일만 있으며 형식이 지정되어 있지만 %D_%M.tex
잘못된 정렬 및 잘못된 형식의 파일 이름으로 인해 잘못된 순서로 색인이 생성되었습니다. sort 명령을 통해 저널 항목을 정렬(이전 항목에서 새 항목으로 또는 그 반대로)하려면 어떻게 호출해야 합니까? 핵심은 기수 정렬입니다. 이 토론에 주목하세요.여기, 그러나 그 중 아직 열려 있는 것은 무엇입니까? 어떤 기수 정렬 알고리즘을 사용하고 언제 사용합니까? 장점과 단점은 무엇입니까?
정렬을 알고 있다면 여기서 멈추세요. 다음 섹션은 작은 작업 예제와 예상 출력으로 저널링을 재현하려는 사람들을 위한 것입니다.
출력 오류
$ ls Days/ |sort -M 12_4.tex 29_3.tex 3_4.tex
예상 출력
29_3.tex 3_4.tex 12_4.tex
작은 예(기수 -bug를 주문하세요)
$ ls Days/ 12_4.tex 29_3.tex 3_4.tex $ cat Makefile .PHONY: all all: days.tex days.tex: $(wildcard Days/*.tex) ls Days/*.tex | awk '{printf "\\input{%s}\n", $$1}' > days.tex $ make; pdflatex diary.tex $ cat diary.tex \documentclass{article} \begin{document} \input{days} \end{document}
관련된
- Wikipedia의 기수 정렬여기.
답변1
또 다른 방법은 파일 이름을 바꾸는 것입니다.
for FILE in Days/*
do
DAY=`cut --delimiter '_' --fields 1 ${FILE}`
MONTH=`cut --delimiter '_' --fields 2 ${FILE} | cut --delimiter '.' --fields 1
NEWFILE=${MONTH}_${DAY}.tex
cp ${FILE} ${NEWFILE}
done
touch
또는 명령을 사용할 수 있습니다 ls -1t
.