日記を並べ替えるには?

日記を並べ替えるには?

ジャーナル項目には年なし月と日のみがあり、書式設定されていますが、%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}

関連

  1. 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

関連情報