恐ろしい慣習で名前が付けられたすべてをソートする膨大な数のファイルがあります。
ここではいくつかの例を示します。
(4)_mr__mcloughlin____.txt
12__sir_john_farr____.txt
(b)mr__chope____.txt
dame_elaine_kellett-bowman____.txt
dr__blackburn______.txt
これらの名前は、それぞれ別の人 (話者) であるはずです。別の IT 部門の誰かが、スクリプトを使用して大量の XML ファイルからこれらを作成しましたが、ご覧のとおり、その命名は計り知れないほどばかげています。
文字通り何万ものこれらのファイルを並べ替え、1 人ごとに複数のテキスト ファイルを並べ替える必要があります。アンダースコアや乱数など、ファイル名を異なるものにする愚かな何かがそれぞれにあります。それらは話者別にソートする必要があります。
これは、スクリプトを使用してほとんどの作業を行う方が簡単で、戻って同じ名前のフォルダーをマージするだけで済みます。
これを行うために私が考えていた方法はいくつかあります。
- 各ファイルから名前を解析し、一意の名前ごとにフォルダーに並べ替えます。
- ファイル名からすべての一意の名前のリストを取得し、類似した名前の単純化された一意の名前のリストを調べて、それらが同じかどうかを尋ねます。これを判断すると、それに応じてすべてを並べ替えます。
Perl を使用する予定ですが、価値があれば新しい言語を試すこともできます。ディレクトリ内の各ファイル名を一度に 1 つずつ読み取り、実際の名前に解析する方法がわかりません。perlで正規表現を使用して解析する方法も完全にはわかりませんが、それはグーグル可能かもしれません。
並べ替えには、次のシェル コマンドを使用するつもりでした。
`cp filename.txt /example/destination/filename.txt`
しかし、私が知っているのはそれだけなので、最も簡単です。
私が何をしようとしているのかについての疑似コードのアイデアさえ持っていないので、誰かがアクションの最良のシーケンスを知っているなら、私はすべて耳を傾けます。私は多くの助けを求めていると思います。どんな提案も受け入れます。助けてくれる人に感謝します。
B.