Bash

如何使用萬用字元來匹配文件,而不是目錄?

  • April 24, 2019

我有一個文件夾叫home/homeLife

我有一個名為 home1 home2 和 home3 的文件儲存在 /home

我想移動所有以home*to開頭的文件home/homeLife/.

我打了

mv home* /home/homeLife
cannot move homeLife into subdirectory of itself

我的問題:如何排除目錄?

使用zsh, 使用 glob 限定符:

mv home*(.) dst 

僅移動正常文件。

儘管

mv home*(^/) dst 

移動除目錄以外的任何類型的文件。

mv home*(^-/) dst

還將排除指向目錄的符號連結。

您可以使用查找。以下應該工作。

find . -name home\* -type f -maxdepth 1 -exec mv {} /home/homeLife/. \;

引用自:https://unix.stackexchange.com/questions/189069