に対応するフォルダにファイルを移動するためにどのように私のようなファイルとフォルダを持っている:ファイルが現在の月にない場合バッシュ
20170129-aaa.jpg
20170130-bbb.jpg
20170131-ccc.jpg
20170201-ddd.jpg
20170202-eee.jpg
を、私はのYYYYMMの一部に基づいてフォルダを作成したいのですがそのファイルを対応するフォルダに移動します。 (例えば、20170129-aaa.jpg
->201701/20170129-aaa.jpg
)。しかし、今月のファイルがある場合はそのまま残したいと思います。 私はbashのに新たなんだ、awkは、uniqの、部分文字列の私の試みはすべて失敗しています。どうすればこの作品を作れますか? bashで、このようなあなたのファイルを介し
各行のループ{dir = $(カット-d ' - ' -f1行); mkdir $ dir; mv line $ dir} –
ありがとうございます。私はちょうどYYYYMMの部分が必要なので、 ' - 'で切った部分はここではあまり適用されません。 –
たぶん、各行の最初の6桁を一時ファイルに書き、 'uniq'を使ってYYYYMMを抽出する必要がありますか?私はこれがスクリプトをあまりにも大きくするかもしれないと思っています。より軽い方法がありますか? –