Linux:反选移动
比方说,你希望将某个目录中的所有文件移动到这个目录中的某个文件夹中,这时候,你就需要用到反选操作了;
具体如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
[root@node1 directory_test_1]# shopt -s extglob [root@node1 directory_test_1]# [root@node1 directory_test_1]# pwd /directory_test_1 [root@node1 directory_test_1]# [root@node1 directory_test_1]# ls -ltr total 0 drwxr-xr-x 2 root root 6 Oct 29 10:12 1 drwxr-xr-x 2 root root 6 Oct 29 10:12 2 drwxr-xr-x 2 root root 6 Oct 29 10:12 3 drwxr-xr-x 2 root root 6 Oct 29 10:12 4 drwxr-xr-x 2 root root 6 Oct 29 10:12 5 drwxr-xr-x 2 root root 6 Oct 29 10:12 number drwxr-xr-x 2 root root 6 Oct 29 10:12 a drwxr-xr-x 2 root root 6 Oct 29 10:12 b drwxr-xr-x 2 root root 6 Oct 29 10:12 c drwxr-xr-x 2 root root 6 Oct 29 10:12 d [root@node1 directory_test_1]# [root@node1 directory_test_1]# ls -ltr number/ total 0 [root@node1 directory_test_1]# [root@node1 directory_test_1]# mv !(a|b|c|d|number) number [root@node1 directory_test_1]# [root@node1 directory_test_1]# ls -ltr total 0 drwxr-xr-x 2 root root 6 Oct 29 10:12 a drwxr-xr-x 2 root root 6 Oct 29 10:12 b drwxr-xr-x 2 root root 6 Oct 29 10:12 c drwxr-xr-x 2 root root 6 Oct 29 10:12 d drwxr-xr-x 7 root root 51 Oct 29 10:14 number [root@node1 directory_test_1]# [root@node1 directory_test_1]# ls -ltr number/ total 0 drwxr-xr-x 2 root root 6 Oct 29 10:12 1 drwxr-xr-x 2 root root 6 Oct 29 10:12 2 drwxr-xr-x 2 root root 6 Oct 29 10:12 3 drwxr-xr-x 2 root root 6 Oct 29 10:12 4 drwxr-xr-x 2 root root 6 Oct 29 10:12 5 [root@node1 directory_test_1]# |
如上,就通过反选操作,排除了:a / b / c / d / number,而将其他的所有文件移动到了:number;