いくつかの他のフォルダーを含むフォルダーがあり、それぞれ次の形式で名前が付けられています。
Company XYZ (1999 OneWordDescription)
1995 年以前にマークされているファイルをフィルターして、別のフォルダーに移動してから手動で削除しようとしています。変更日や作成日は役に立ちません。これらはすべてそれ以降に変更されており、作成日は何らかの理由で正確ではありません。
「(1995」以前のものをすべて別のディレクトリに移動するには、どの Linux コマンドまたはスクリプトを実行すればよいですか?
答え1
1980 年から 1995 年までのすべてのフォルダーを移動するには、次のコマンドを実行します。
shopt -s nullglob
mv *'('{1980..1995}*/ /some/path/
このshopt -s nullglob
コマンドは厳密には必要ではありませんが、いずれかの年が欠落している場合にエラー メッセージが表示されなくなります。
上記では、中括弧展開を使用して、{1980..1995}
すべての年を明示的に生成しています。中括弧展開がどのように機能するかは、次のecho
ステートメントだけで確認できます。
$ echo {1980..1995}
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995