![将所有文件移至新目录(不包括该目录)](https://linux22.com/image/28797/%E5%B0%86%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%E7%A7%BB%E8%87%B3%E6%96%B0%E7%9B%AE%E5%BD%95%EF%BC%88%E4%B8%8D%E5%8C%85%E6%8B%AC%E8%AF%A5%E7%9B%AE%E5%BD%95%EF%BC%89.png)
我有以下内容:
~@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
包含除一项之外的所有内容的一种方法是:
mv !(a1) a1
您需要首先启用此功能:
shopt -s extglob
答案2
mv -f * a1
尽管存在争议,这将迫使此举发生。然后做一个ls
之后,你会发现它有效。
答案3
您可以使用以下命令来实现此目的
find . -maxdepth 1 | grep -v a1| xargs -i mv {} ./a1