固定位置の可変幅数に基づいて行を並べ替える

固定位置の可変幅数に基づいて行を並べ替える

Sort コマンドを使用してファイルをソートしようとしても機能しません。

ファイルには次の行が含まれています。

photo1
photo11
photo12
photo13
photo17
photo18
photo19
photo2
photo22
photo23
photo25
photo26
photo27

"photo"という文字列の後にソートを開始するためにコマンドを使用していますsort -k6 Photos。どこで間違っているのか教えてくれる人はいますか?

答え1

キーの開始および終了文字位置を使用してソートキーを定義します。

sort -nk1.6,1.8 file

おなじみのsortマンページを確認してください。

答え2

フィールド区切り文字を指定する必要があります。

sort -n -to -k3 Photos

-toフィールド区切り文字sortとして使用するように指示します。o数字は3番目のフィールドにあります(最初のフィールドには数字が含まれ、ph2番目のフィールドには数字が含まれていますt-k3。アルファベット順ではなく数字順に並べ替えるように-n指示します。sort

関連情報