4 桁の数字

4 桁の数字

いくつかの他のフォルダーを含むフォルダーがあり、それぞれ次の形式で名前が付けられています。

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

関連情報