すべてのファイルを新しいディレクトリに移動する(このディレクトリを除く)

すべてのファイルを新しいディレクトリに移動する(このディレクトリを除く)

私は以下を持っています:

~@matrix:~/btp200/assignments> ls -la
total 40
drwxr-xr-x 3 molszewski1 users 4096 Feb  6 13:20 .
drwxr-xr-x 6 molszewski1 users 4096 Feb  6 13:14 ..
-rw-r--r-- 1 molszewski1 users 5727 Feb  6 13:20 ISBN.cpp
-rw-r--r-- 1 molszewski1 users  361 Feb  6 13:18 ISBN.h
-rw-r--r-- 1 molszewski1 users 3753 Feb  6 13:17 ISBNPrefix.cpp
-rw-r--r-- 1 molszewski1 users  422 Feb  6 13:15 ISBNPrefix.h
drwxr-xr-x 2 molszewski1 users 4096 Feb  6 13:20 a1
-rw-r--r-- 1 molszewski1 users    0 Feb  6 13:15 a1.cpp
-rw-r--r-- 1 molszewski1 users 6271 Feb  6 13:18 prefixRanges.txt
~@matrix:~/btp200/assignments> mv * a1
mv: cannot move `a1' to a subdirectory of itself, `a1/a1'

a1を除くすべてのアイテムを移動するにはどうすればよいですかa1

答え1

1つを除くすべてを含む1つの方法は次のとおりです。

mv !(a1) a1

まず、この機能を有効にする必要があります。

shopt -s extglob

答え2

mv -f * a1

これは議論にもかかわらず、これらの動きが起こるでしょう。その後、1つを実行した後、lsそれが機能することがわかります。

答え3

これを達成するには、次のコマンドを使用できます。

find . -maxdepth 1 | grep -v a1| xargs -i mv {} ./a1

関連情報