![各行の数値に基づいてテキストファイルを並べ替える[閉じる]](https://linux33.com/image/226111/%E5%90%84%E8%A1%8C%E3%81%AE%E6%95%B0%E5%80%A4%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%84%E3%81%A6%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%B8%A6%E3%81%B9%E6%9B%BF%E3%81%88%E3%82%8B%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
さまざまなwavファイルへのパスを含むテキストファイルがあります。ただし、生成されるとアルファベット順にソートされます。だからパスはこれです
/home/wav_path/converted_Interpreter_TC_100.wav
/home/wav_path/converted_Interpreter_TC_101.wav
/home/wav_path/converted_Interpreter_TC_102.wav
/home/wav_path/converted_Interpreter_TC_103.wav
/home/wav_path/converted_Interpreter_TC_104.wav
/home/wav_path/converted_Interpreter_TC_105.wav
/home/wav_path/converted_Interpreter_TC_106.wav
/home/wav_path/converted_Interpreter_TC_107.wav
/home/wav_path/converted_Interpreter_TC_108.wav
/home/wav_path/converted_Interpreter_TC_109.wav
/home/wav_path/converted_Interpreter_TC_10.wav
/home/wav_path/converted_Interpreter_TC_110.wav
/home/wav_path/converted_Interpreter_TC_111.wav
/home/wav_path/converted_Interpreter_TC_11.wav
/home/wav_path/converted_Interpreter_TC_12.wav
/home/wav_path/converted_Interpreter_TC_13.wav
/home/wav_path/converted_Interpreter_TC_14.wav
/home/wav_path/converted_Interpreter_TC_15.wav
/home/wav_path/converted_Interpreter_TC_16.wav
/home/wav_path/converted_Interpreter_TC_17.wav
/home/wav_path/converted_Interpreter_TC_18.wav
/home/wav_path/converted_Interpreter_TC_19.wav
/home/wav_path/converted_Interpreter_TC_1.wav
/home/wav_path/converted_Interpreter_TC_20.wav
/home/wav_path/converted_Interpreter_TC_21.wav
/home/wav_path/converted_Interpreter_TC_22.wav
/home/wav_path/converted_Interpreter_TC_23.wav
/home/wav_path/converted_Interpreter_TC_24.wav
/home/wav_path/converted_Interpreter_TC_25.wav
/home/wav_path/converted_Interpreter_TC_26.wav
/home/wav_path/converted_Interpreter_TC_27.wav
/home/wav_path/converted_Interpreter_TC_28.wav
/home/wav_path/converted_Interpreter_TC_29.wav
/home/wav_path/converted_Interpreter_TC_2.wav
/home/wav_path/converted_Interpreter_TC_30.wav
/home/wav_path/converted_Interpreter_TC_31.wav
/home/wav_path/converted_Interpreter_TC_32.wav
/home/wav_path/converted_Interpreter_TC_33.wav
/home/wav_path/converted_Interpreter_TC_34.wav
/home/wav_path/converted_Interpreter_TC_35.wav
/home/wav_path/converted_Interpreter_TC_36.wav
/home/wav_path/converted_Interpreter_TC_37.wav
/home/wav_path/converted_Interpreter_TC_38.wav
/home/wav_path/converted_Interpreter_TC_39.wav
/home/wav_path/converted_Interpreter_TC_3.wav
/home/wav_path/converted_Interpreter_TC_40.wav
/home/wav_path/converted_Interpreter_TC_41.wav
/home/wav_path/converted_Interpreter_TC_42.wav
/home/wav_path/converted_Interpreter_TC_43.wav
/home/wav_path/converted_Interpreter_TC_44.wav
/home/wav_path/converted_Interpreter_TC_45.wav
/home/wav_path/converted_Interpreter_TC_46.wav
/home/wav_path/converted_Interpreter_TC_47.wav
/home/wav_path/converted_Interpreter_TC_48.wav
/home/wav_path/converted_Interpreter_TC_49.wav
/home/wav_path/converted_Interpreter_TC_4.wav
/home/wav_path/converted_Interpreter_TC_50.wav
/home/wav_path/converted_Interpreter_TC_51.wav
/home/wav_path/converted_Interpreter_TC_52.wav
/home/wav_path/converted_Interpreter_TC_53.wav
/home/wav_path/converted_Interpreter_TC_54.wav
/home/wav_path/converted_Interpreter_TC_55.wav
/home/wav_path/converted_Interpreter_TC_56.wav
/home/wav_path/converted_Interpreter_TC_57.wav
/home/wav_path/converted_Interpreter_TC_58.wav
/home/wav_path/converted_Interpreter_TC_59.wav
/home/wav_path/converted_Interpreter_TC_5.wav
/home/wav_path/converted_Interpreter_TC_60.wav
/home/wav_path/converted_Interpreter_TC_61.wav
/home/wav_path/converted_Interpreter_TC_62.wav
/home/wav_path/converted_Interpreter_TC_63.wav
/home/wav_path/converted_Interpreter_TC_64.wav
/home/wav_path/converted_Interpreter_TC_65.wav
/home/wav_path/converted_Interpreter_TC_66.wav
/home/wav_path/converted_Interpreter_TC_67.wav
/home/wav_path/converted_Interpreter_TC_68.wav
/home/wav_path/converted_Interpreter_TC_69.wav
/home/wav_path/converted_Interpreter_TC_6.wav
/home/wav_path/converted_Interpreter_TC_70.wav
/home/wav_path/converted_Interpreter_TC_71.wav
/home/wav_path/converted_Interpreter_TC_72.wav
/home/wav_path/converted_Interpreter_TC_73.wav
/home/wav_path/converted_Interpreter_TC_74.wav
/home/wav_path/converted_Interpreter_TC_75.wav
/home/wav_path/converted_Interpreter_TC_76.wav
/home/wav_path/converted_Interpreter_TC_77.wav
/home/wav_path/converted_Interpreter_TC_78.wav
/home/wav_path/converted_Interpreter_TC_79.wav
/home/wav_path/converted_Interpreter_TC_7.wav
/home/wav_path/converted_Interpreter_TC_80.wav
/home/wav_path/converted_Interpreter_TC_81.wav
/home/wav_path/converted_Interpreter_TC_82.wav
/home/wav_path/converted_Interpreter_TC_83.wav
/home/wav_path/converted_Interpreter_TC_84.wav
/home/wav_path/converted_Interpreter_TC_85.wav
/home/wav_path/converted_Interpreter_TC_86.wav
/home/wav_path/converted_Interpreter_TC_87.wav
/home/wav_path/converted_Interpreter_TC_88.wav
/home/wav_path/converted_Interpreter_TC_89.wav
/home/wav_path/converted_Interpreter_TC_8.wav
/home/wav_path/converted_Interpreter_TC_90.wav
/home/wav_path/converted_Interpreter_TC_91.wav
/home/wav_path/converted_Interpreter_TC_92.wav
/home/wav_path/converted_Interpreter_TC_93.wav
/home/wav_path/converted_Interpreter_TC_94.wav
/home/wav_path/converted_Interpreter_TC_95.wav
/home/wav_path/converted_Interpreter_TC_98.wav
/home/wav_path/converted_Interpreter_TC_99.wav
/home/wav_path/converted_Interpreter_TC_9.wav
TCの次の数字を基準にソートして、次のように見せたいと思います。
/home/wav_path/converted_Interpreter_TC_1.wav
/home/wav_path/converted_Interpreter_TC_2.wav
/home/wav_path/converted_Interpreter_TC_3.wav
/home/wav_path/converted_Interpreter_TC_4.wav
sort
私は試してみましたが、sort -n
そのうち何も動作しませんでした。誰でもこの問題を解決するのに役立ちますか?
答え1
ファイル名が表示されているものと正確に一致する場合は、次に定義された5番目のフィールドで数字でソートしようとします_
。
/home/wav_path/converted_Interpreter_TC_1.wav
_________ ______________ ___________ __ _____
1st field 2nd field 3d field 4th 5th
したがって、次のようにすることができます。
$ sort -t _ -nk5,5 names
/home/wav_path/converted_Interpreter_TC_1.wav
/home/wav_path/converted_Interpreter_TC_2.wav
/home/wav_path/converted_Interpreter_TC_3.wav
/home/wav_path/converted_Interpreter_TC_4.wav
/home/wav_path/converted_Interpreter_TC_5.wav
/home/wav_path/converted_Interpreter_TC_6.wav
/home/wav_path/converted_Interpreter_TC_7.wav
/home/wav_path/converted_Interpreter_TC_8.wav
/home/wav_path/converted_Interpreter_TC_9.wav
/home/wav_path/converted_Interpreter_TC_10.wav
/home/wav_path/converted_Interpreter_TC_11.wav
/home/wav_path/converted_Interpreter_TC_12.wav
/home/wav_path/converted_Interpreter_TC_13.wav
/home/wav_path/converted_Interpreter_TC_14.wav
/home/wav_path/converted_Interpreter_TC_15.wav
/home/wav_path/converted_Interpreter_TC_16.wav
/home/wav_path/converted_Interpreter_TC_17.wav
/home/wav_path/converted_Interpreter_TC_18.wav
/home/wav_path/converted_Interpreter_TC_19.wav
/home/wav_path/converted_Interpreter_TC_20.wav
/home/wav_path/converted_Interpreter_TC_21.wav
/home/wav_path/converted_Interpreter_TC_22.wav
/home/wav_path/converted_Interpreter_TC_23.wav
/home/wav_path/converted_Interpreter_TC_24.wav
/home/wav_path/converted_Interpreter_TC_25.wav
/home/wav_path/converted_Interpreter_TC_26.wav
/home/wav_path/converted_Interpreter_TC_27.wav
/home/wav_path/converted_Interpreter_TC_28.wav
/home/wav_path/converted_Interpreter_TC_29.wav
/home/wav_path/converted_Interpreter_TC_30.wav
/home/wav_path/converted_Interpreter_TC_31.wav
/home/wav_path/converted_Interpreter_TC_32.wav
/home/wav_path/converted_Interpreter_TC_33.wav
/home/wav_path/converted_Interpreter_TC_34.wav
/home/wav_path/converted_Interpreter_TC_35.wav
/home/wav_path/converted_Interpreter_TC_36.wav
/home/wav_path/converted_Interpreter_TC_37.wav
/home/wav_path/converted_Interpreter_TC_38.wav
/home/wav_path/converted_Interpreter_TC_39.wav
/home/wav_path/converted_Interpreter_TC_40.wav
/home/wav_path/converted_Interpreter_TC_41.wav
/home/wav_path/converted_Interpreter_TC_42.wav
/home/wav_path/converted_Interpreter_TC_43.wav
/home/wav_path/converted_Interpreter_TC_44.wav
/home/wav_path/converted_Interpreter_TC_45.wav
/home/wav_path/converted_Interpreter_TC_46.wav
/home/wav_path/converted_Interpreter_TC_47.wav
/home/wav_path/converted_Interpreter_TC_48.wav
/home/wav_path/converted_Interpreter_TC_49.wav
/home/wav_path/converted_Interpreter_TC_50.wav
/home/wav_path/converted_Interpreter_TC_51.wav
/home/wav_path/converted_Interpreter_TC_52.wav
/home/wav_path/converted_Interpreter_TC_53.wav
/home/wav_path/converted_Interpreter_TC_54.wav
/home/wav_path/converted_Interpreter_TC_55.wav
/home/wav_path/converted_Interpreter_TC_56.wav
/home/wav_path/converted_Interpreter_TC_57.wav
/home/wav_path/converted_Interpreter_TC_58.wav
/home/wav_path/converted_Interpreter_TC_59.wav
/home/wav_path/converted_Interpreter_TC_60.wav
/home/wav_path/converted_Interpreter_TC_61.wav
/home/wav_path/converted_Interpreter_TC_62.wav
/home/wav_path/converted_Interpreter_TC_63.wav
/home/wav_path/converted_Interpreter_TC_64.wav
/home/wav_path/converted_Interpreter_TC_65.wav
/home/wav_path/converted_Interpreter_TC_66.wav
/home/wav_path/converted_Interpreter_TC_67.wav
/home/wav_path/converted_Interpreter_TC_68.wav
/home/wav_path/converted_Interpreter_TC_69.wav
/home/wav_path/converted_Interpreter_TC_70.wav
/home/wav_path/converted_Interpreter_TC_71.wav
/home/wav_path/converted_Interpreter_TC_72.wav
/home/wav_path/converted_Interpreter_TC_73.wav
/home/wav_path/converted_Interpreter_TC_74.wav
/home/wav_path/converted_Interpreter_TC_75.wav
/home/wav_path/converted_Interpreter_TC_76.wav
/home/wav_path/converted_Interpreter_TC_77.wav
/home/wav_path/converted_Interpreter_TC_78.wav
/home/wav_path/converted_Interpreter_TC_79.wav
/home/wav_path/converted_Interpreter_TC_80.wav
/home/wav_path/converted_Interpreter_TC_81.wav
/home/wav_path/converted_Interpreter_TC_82.wav
/home/wav_path/converted_Interpreter_TC_83.wav
/home/wav_path/converted_Interpreter_TC_84.wav
/home/wav_path/converted_Interpreter_TC_85.wav
/home/wav_path/converted_Interpreter_TC_86.wav
/home/wav_path/converted_Interpreter_TC_87.wav
/home/wav_path/converted_Interpreter_TC_88.wav
/home/wav_path/converted_Interpreter_TC_89.wav
/home/wav_path/converted_Interpreter_TC_90.wav
/home/wav_path/converted_Interpreter_TC_91.wav
/home/wav_path/converted_Interpreter_TC_92.wav
/home/wav_path/converted_Interpreter_TC_93.wav
/home/wav_path/converted_Interpreter_TC_94.wav
/home/wav_path/converted_Interpreter_TC_95.wav
/home/wav_path/converted_Interpreter_TC_98.wav
/home/wav_path/converted_Interpreter_TC_99.wav
/home/wav_path/converted_Interpreter_TC_100.wav
/home/wav_path/converted_Interpreter_TC_101.wav
/home/wav_path/converted_Interpreter_TC_102.wav
/home/wav_path/converted_Interpreter_TC_103.wav
/home/wav_path/converted_Interpreter_TC_104.wav
/home/wav_path/converted_Interpreter_TC_105.wav
/home/wav_path/converted_Interpreter_TC_106.wav
/home/wav_path/converted_Interpreter_TC_107.wav
/home/wav_path/converted_Interpreter_TC_108.wav
/home/wav_path/converted_Interpreter_TC_109.wav
/home/wav_path/converted_Interpreter_TC_110.wav
/home/wav_path/converted_Interpreter_TC_111.wav
これはフィールド区切り文字sort
として使用され、5番目のフィールド()のみが数字でソート()されることを示します。_
-n
-k5,5
またはGNUがある場合は、以下をsort
使用してください-V
。
-V, --version-sort
natural sort of (version) numbers within text
だからあなたはできます
sort -V names
同じ結果が得られます。
答え2
「ファイル名属性でソートしたい」のプロセスは次のとおりです。
- 装飾(たとえば、ソートに使用されるキーを前に配置)
- タイプ
- 飾る
もし、そしてただこれらの特定のファイル名に改行文字を含めることができないことがわかっている場合は、数字を正規表現と一致させ、行の先頭で繰り返してから数字でソートしてファイル名を飾ることができます。
この場合、チェーンは次のようになります。
<your_text_file \
sed -n 's;^your_beginning_pattern\([[:digit:]]*\)your_end_pattern$;\1 &;p' | \
sort -n | \
sed 's;^[[:digit:]]* \(.*\)$;\1;'
your_
すべてをユースケースに適用されるものに置き換える必要があります。 (これはあなたの小さな例で完全に実行可能でなければなりません。一度試してみてください!)
(これを行うと、sed -n … ;p'
パターンと一致する行のみが印刷されます。したがって、誤ってパターンと一致しないファイルを含めると、そのファイルは除外されます。望まない場合は、-n
sedオプションとp
フラグを使用しないでください。