Titlepage_19.pdfの前にtitlepage_1.pdfでソートされたこの出力を表示することは可能ですか?
$ ls
allTitlepage.pdf titlepage_12.pdf titlepage_19.tex titlepage_26.pdf titlepage_32.tex titlepage_4.tex
allTitlepage.tex titlepage_12.tex titlepage_1.pdf titlepage_26.tex titlepage_33.pdf titlepage_5.pdf
assignment.pdf titlepage_13.pdf titlepage_1.tex titlepage_27.pdf titlepage_34.pdf titlepage_5.tex
assignment.tex titlepage_13.tex titlepage_20.pdf titlepage_27.tex titlepage_34.tex titlepage_6.pdf
graphicsAssignment2.pdf titlepage_14.pdf titlepage_20.tex titlepage_28.pdf titlepage_35.pdf titlepage_6.tex
graphicsAssignment2.tex titlepage_14.tex titlepage_21.pdf titlepage_28.tex titlepage_35.tex titlepage_7.pdf
README.md titlepage_15.pdf titlepage_21.tex titlepage_29.pdf titlepage_36.pdf titlepage_7.tex
thesisTitlepage.pdf titlepage_15.tex titlepage_22.pdf titlepage_29.tex titlepage_36.tex titlepage_8.pdf
thesisTitlepage.tex titlepage_16.pdf titlepage_22.tex titlepage_2.pdf titlepage_37.pdf titlepage_8.tex
titlepage_0.pdf titlepage_16.tex titlepage_23.pdf titlepage_2.tex titlepage_37.tex titlepage_9.pdf
titlepage_0.tex titlepage_17.pdf titlepage_23.tex titlepage_30.pdf titlepage_38.pdf titlepage_9.tex
titlepage_10.pdf titlepage_17.tex titlepage_24.pdf titlepage_30.tex titlepage_38.tex titlepage_one.pdf
titlepage_10.tex titlepage_18.pdf titlepage_24.tex titlepage_31.pdf titlepage_3.pdf titlepage_one.tex
titlepage_11.pdf titlepage_18.tex titlepage_25.pdf titlepage_31.tex titlepage_3.tex titlepage_two.tex
titlepage_11.tex titlepage_19.pdf titlepage_25.tex titlepage_32.pdf titlepage_4.pdf
スイッチ-v [テキスト内の自然な並べ替え(バージョン)番号]を使用します
ls -v
出力はソートされます。 ls
マンページによると:
-cftuvSUXも--sortも指定されていない場合、エントリをアルファベット順にソートします。
ただし、さらに先に進みたい場合は、少なくとも2つのオプションがあります。
オプション1-ls
ソートスイッチ
man ls
は、並べ替えに使用できるいくつかのスイッチについて説明します。具体的には、 ls man page は次のように述べています。
なし(-U)、サイズ(-S)、時間(-t)、バージョン(-v)、拡張子(-X)
あなたの場合、「バージョン」ソートが必要です(-v)。ただし、これもソートするため、注意してくださいblahblah-X.Y.Z-A
アレンジメントを持つものはすべて、あなたが望むものとは限りません。 GNUのバージョンソートの説明 も参照してください。
オプション2-ソートコマンドへのパイプ
パイプ|
を使用して、出力を別のコマンドに送信できます。たとえば、commandsort
ls -1 | sort -n
のように、ファイルに番号を付けている場合に便利なその他の方法。 -1
スイッチは、出力がファイルごとに1行であることを保証します。
同様に、sed
やawk
などを使用して、出力を操作してソートを支援できます。
この種の質問に答える方法はたくさんあります。 Linux Shellチュートリアルが役立つ場合があります。
*(私がそこで行ったことを参照してください:-p)
コメントで既に指摘したように、出力isは既にソートされていますが、数字ではなく文字でソートされています。 ls
の出力をsort
にパイプすることもできます。この出力には、文字列内の数字でソートするスイッチがあります。
ls | sort --version-sort
manpage から:
-V, --version-sort natural sort of (version) numbers within text
欠点:ls
を発行すると、tableに収まるだけの列数でファイルを出力します現在の画面(投稿で示したとおり)。しかし、ls
が、その出力がファイルまたはパイプ(ls | sort
のように)にリダイレクトされていることに気づいた場合、ls
は、ファイルをone列に出力します。次に、出力が他のプログラム(sort
など)によって行ごと(ファイルごと)に処理されることを想定しています。したがって、ls | sort -V
の出力は、複数の列を持つテーブルではなく、1つの列になります。 @ vijay のシンプルだが 完全回答 を参照して、それを回避する方法を参照してください。