Hos*_*asr 5 shell cp filenames wildcards
我们可以通过像这样的扩展名复制一些文件:
cp *.txt ../new/
Run Code Online (Sandbox Code Playgroud)
但是如何复制所有没有扩展名的文件?
Abe*_*ung 16
@ubaid-ashraf 的答案几乎就在那里。指定没有扩展名的文件的方法ksh是:
cp -- !(*.*) /new/path/
Run Code Online (Sandbox Code Playgroud)
以便跳过文件名中带有点的任何文件。
对于在工作bash,你需要启用extglob选项(shopt -s extglob)和kshglob选件zsh(set -o kshglob)。
小智 6
您可以执行以下操作:
cp -- !(*.txt) /path/to/directory
Run Code Online (Sandbox Code Playgroud)
上面的代码将复制所有没有 .txt 扩展名的文件。您还可以通过管道字符提供多个扩展名。
例如:
cp -- !(*.txt|*.c|*.py) /path/to/directory
Run Code Online (Sandbox Code Playgroud)